<?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>212281</bug_id>
          
          <creation_ts>2020-05-22 14:48:06 -0700</creation_ts>
          <short_desc>REGRESSION (r261812): editing/async-clipboard/clipboard-item-get-type-basic.html is flaky</short_desc>
          <delta_ts>2020-05-29 00:27:09 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 13</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jason Lawrence">Lawrence.j</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1655447</commentid>
    <comment_count>0</comment_count>
    <who name="Jason Lawrence">Lawrence.j</who>
    <bug_when>2020-05-22 14:48:06 -0700</bug_when>
    <thetext>editing/async-clipboard/clipboard-item-get-type-basic.html

Description:
This test is flaky failing on iOS wk2 release. It was passing consistently until 5/19/2020. 

History:
https://results.webkit.org/?suite=layout-tests&amp;test=editing%2Fasync-clipboard%2Fclipboard-item-get-type-basic.html&amp;platform=ios&amp;limit=50000&amp;style=release

Diff:
--- /Volumes/Data/slave/ios-simulator-13-release-tests-wk2/build/layout-test-results/editing/async-clipboard/clipboard-item-get-type-basic-expected.txt
+++ /Volumes/Data/slave/ios-simulator-13-release-tests-wk2/build/layout-test-results/editing/async-clipboard/clipboard-item-get-type-basic-actual.txt
@@ -2,12 +2,9 @@
 
 On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
 
-PASS items.length is 1
-PASS item.types.length is 3
-PASS text is &quot;Apple, Inc.&quot;
-PASS url is &quot;https://www.apple.com/&quot;
-PASS doc.querySelector(&apos;a&apos;).href is &quot;https://www.apple.com/&quot;
+FAIL Caught unexpected exception: NotAllowedError
 PASS successfullyParsed is true
+Some tests failed.
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655448</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-22 14:48:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/63554912&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655454</commentid>
    <comment_count>2</comment_count>
    <who name="Jason Lawrence">Lawrence.j</who>
    <bug_when>2020-05-22 14:57:34 -0700</bug_when>
    <thetext>I have marked this test as flaky failing while this issue is investigated.
https://trac.webkit.org/changeset/262078/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655475</commentid>
    <comment_count>3</comment_count>
    <who name="Jason Lawrence">Lawrence.j</who>
    <bug_when>2020-05-22 15:55:16 -0700</bug_when>
    <thetext>I am able to reproduce this issue on 261815 using the command below, but I cannot reproduce it on 261811.

run-webkit-tests --ios-simulator --device-type iPhone SE --iterations 99 --exit-after-n-failures 3 --force editing/async-clipboard/clipboard-item-get-type-basic.html

r261815:
[27/99] editing/async-clipboard/clipboard-item-get-type-basic.html failed unexpectedly (text diff)
[41/99] editing/async-clipboard/clipboard-item-get-type-basic.html failed unexpectedly (text diff)
[47/99] editing/async-clipboard/clipboard-item-get-type-basic.html failed unexpectedly (text diff)
Exiting early after 3 failures. 47 tests run.


44 tests ran as expected, 3 didn&apos;t (52 didn&apos;t run):

r261811:
All 99 tests ran as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655936</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-05-25 14:37:42 -0700</bug_when>
    <thetext>r261812 is the only editing change in this range, and a very timing sensitive one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656067</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-26 09:42:58 -0700</bug_when>
    <thetext>I’m unable to reproduce this locally. I ran for 600 iterations several times at full parallelization (10 test runners on my machine).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656086</commentid>
    <comment_count>6</comment_count>
      <attachid>400259</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-26 10:36:23 -0700</bug_when>
    <thetext>Created attachment 400259
Repro attempt #1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656087</commentid>
    <comment_count>7</comment_count>
      <attachid>400260</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-26 10:37:10 -0700</bug_when>
    <thetext>Created attachment 400260
Repro attempt #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656089</commentid>
    <comment_count>8</comment_count>
      <attachid>400261</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-26 10:37:42 -0700</bug_when>
    <thetext>Created attachment 400261
Repro attempt #3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656090</commentid>
    <comment_count>9</comment_count>
      <attachid>400262</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-26 10:38:28 -0700</bug_when>
    <thetext>Created attachment 400262
Repro attempt #4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656091</commentid>
    <comment_count>10</comment_count>
      <attachid>400263</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-26 10:39:09 -0700</bug_when>
    <thetext>Created attachment 400263
Repro attempt #5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656402</commentid>
    <comment_count>11</comment_count>
      <attachid>400344</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-27 10:01:27 -0700</bug_when>
    <thetext>Created attachment 400344
Repro attempt #6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656424</commentid>
    <comment_count>12</comment_count>
      <attachid>400348</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-27 10:27:37 -0700</bug_when>
    <thetext>Created attachment 400348
Repro attempt #7 (more logging)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656455</commentid>
    <comment_count>13</comment_count>
      <attachid>400354</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-27 11:19:56 -0700</bug_when>
    <thetext>Created attachment 400354
Repro attempt #8 (and force EWS to fail)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656605</commentid>
    <comment_count>14</comment_count>
      <attachid>400385</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-27 15:00:54 -0700</bug_when>
    <thetext>Created attachment 400385
Repro attempt #9</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656937</commentid>
    <comment_count>15</comment_count>
      <attachid>400486</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-28 11:19:12 -0700</bug_when>
    <thetext>Created attachment 400486
Repro attempt #10</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656970</commentid>
    <comment_count>16</comment_count>
      <attachid>400497</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-28 12:57:12 -0700</bug_when>
    <thetext>Created attachment 400497
Repro attempt #11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657013</commentid>
    <comment_count>17</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-28 14:16:14 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #16)
&gt; Created attachment 400497 [details]
&gt; Repro attempt #11

I think I’ve finally found a smoking gun...!

13:46:36.213 17986   &lt;WK&gt;: Has active session? no
13:46:36.213 17986   &lt;WK&gt;: - changeCountAtStart 12
13:46:36.213 17986   &lt;WK&gt;: - m_activeSession-&gt;changeCount 0
13:46:36.213 17986   &lt;WK&gt;: void WebKit::WebPasteboardProxy::allPasteboardItemInfo(IPC::Connection &amp;, const WTF::String &amp;, int64_t, CompletionHandler&lt;void (Optional&lt;Vector&lt;WebCore::PasteboardItemInfo&gt; &gt; &amp;&amp;)&gt; &amp;&amp;)
13:46:36.213 17986   &lt;WK&gt;: BAILING BECAUSE CHANGE COUNTS DIFFER (12, 14)
13:46:36.213 17986   &lt;WK&gt;: Got pasteboard item info? no
13:46:36.213 17986   &lt;WK&gt;: Number of items: 0
13:46:36.271 17986 &quot;ruby --version&quot; took 0.06s
13:46:37.716 17986 &quot;ruby -I /Volumes/Data/worker/iOS-13-Simulator-WK2-Tests-EWS/build/Websites/bugs.webkit.org/PrettyPatch /Volumes/Data/worker/iOS-13-Simulator-WK2-Tests-EWS/build/Websites/bugs.webkit.org/PrettyPatch/prettify.rb /Volumes/Data/worker/iOS-13-Simulator-WK2-Tests-EWS/build/layout-test-results/editing/async-clipboard/clipboard-item-get-type-basic-1-diff.txt&quot; took 1.44s
13:46:37.722 16182 [4601/46006] editing/async-clipboard/clipboard-item-get-type-basic-1.html failed unexpectedly (text diff)

We’re bailing in PlatformPasteboard::allPasteboardItemInfo because the change count has been bumped beneath us. Need to drill further to figure out what’s causing the change count to increment (twice, even!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657084</commentid>
    <comment_count>18</comment_count>
      <attachid>400523</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-28 16:37:27 -0700</bug_when>
    <thetext>Created attachment 400523
Repro attempt #12</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657143</commentid>
    <comment_count>19</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-28 21:01:46 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #18)
&gt; Created attachment 400523 [details]
&gt; Repro attempt #12

&lt;WK&gt;: Committed load: &lt;blank&gt;
&lt;WK&gt;: Committed load: &lt;/Volumes/Data/worker/iOS-13-Simulator-WK2-Tests-EWS/build/LayoutTests/editing/async-clipboard/clipboard-item-get-type-basic-8.html&gt;
&lt;WK&gt;: Waiting for autocorrection context...
&lt;WK&gt;: void WebKit::WebPasteboardProxy::getPasteboardChangeCount(const WTF::String &amp;, CompletionHandler&lt;void (int64_t)&gt; &amp;&amp;) =&gt; 32
&lt;WK&gt;: Writing custom data.
&lt;WK&gt;: void WebKit::WebPasteboardProxy::writeCustomData(IPC::Connection &amp;, const Vector&lt;WebCore::PasteboardCustomData&gt; &amp;, const WTF::String &amp;, CompletionHandler&lt;void (int64_t)&gt; &amp;&amp;)
&lt;WK&gt;: int64_t WebCore::PlatformPasteboard::write(const Vector&lt;WebCore::PasteboardCustomData&gt; &amp;)
&lt;WK&gt;: -[WKContentView(WKInteraction) _pasteboardChanged]
&lt;WK&gt;: 0   WebKit                              0x00000001078ec54a -[WKContentView(WKInteraction) _pasteboardChanged] + 104
&lt;WK&gt;: 1   CoreFoundation                      0x000000010962ed0c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
&lt;WK&gt;: 2   CoreFoundation                      0x000000010962e185 _CFXRegistrationPost1 + 421
&lt;WK&gt;: 3   CoreFoundation                      0x000000010962def1 ___CFXNotificationPost_block_invoke + 193
&lt;WK&gt;: 4   CoreFoundation                      0x000000010972b2d3 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1795
&lt;WK&gt;: 5   CoreFoundation                      0x000000010962d846 _CFXNotificationPost + 950
&lt;WK&gt;: 6   Foundation                          0x0000000108ce2e2b -[NSNotificationCenter postNotificationName:object:userInfo:] + 59
&lt;WK&gt;: 7   UIKitCore                           0x000000011797a6ca _sendPasteboardChangedNotification + 90
&lt;WK&gt;: 8   UIKitCore                           0x000000011797a553 -[_UIConcretePasteboard _saveItemCollection:] + 192
&lt;WK&gt;: 9   UIKitCore                           0x0000000117981552 -[_UIConcretePasteboard _setItemsAndSave:options:coerceStringsToURLs:] + 1539
&lt;WK&gt;: 10  UIKitCore                           0x000000011797cbf1 -[_UIConcretePasteboard setItemProviders:localOnly:expirationDate:] + 590
&lt;WK&gt;: 11  WebCore                             0x000000010b67cda2 _ZN7WebCoreL25registerItemsToPasteboardEP7NSArrayIP35WebItemProviderRegistrationInfoListEPU29objcproto18AbstractPasteboard11objc_object + 402

…

&lt;WK&gt;: 
&lt;WK&gt;: ...done waiting!
&lt;WK&gt;: void WebKit::WebPasteboardProxy::getPasteboardChangeCount(const WTF::String &amp;, CompletionHandler&lt;void (int64_t)&gt; &amp;&amp;) =&gt; 33
&lt;WK&gt;: -[WKContentView(WKInteraction) supportsImagePaste] =&gt; NO
&lt;WK&gt;: 0   WebKit                              0x00000001078ec6b0 -[WKContentView(WKInteraction) supportsImagePaste] + 148
&lt;WK&gt;: 1   UIKitCore                           0x000000011786009e -[UIKeyboardImpl delegateSupportsImagePaste] + 444
&lt;WK&gt;: 2   UIKitCore                           0x000000011785fe00 -[UIKeyboardImpl updateDelegatePasteSupport] + 274
&lt;WK&gt;: 3   UIKitCore                           0x000000011785fbfc -[UIKeyboardImpl didSetDelegate] + 222

…

&lt;WK&gt;: 
&lt;WK&gt;: void WebKit::WebPasteboardProxy::getPasteboardChangeCount(const WTF::String &amp;, CompletionHandler&lt;void (int64_t)&gt; &amp;&amp;) =&gt; 35
&lt;WK&gt;: Requesting DOM paste access...
&lt;WK&gt;: ...passed.
&lt;WK&gt;: 
&lt;WK&gt;: Has active session? no
&lt;WK&gt;: - changeCountAtStart 35
&lt;WK&gt;: - m_activeSession-&gt;changeCount 0
&lt;WK&gt;: void WebKit::WebPasteboardProxy::allPasteboardItemInfo(IPC::Connection &amp;, const WTF::String &amp;, int64_t, CompletionHandler&lt;void (Optional&lt;Vector&lt;WebCore::PasteboardItemInfo&gt; &gt; &amp;&amp;)&gt; &amp;&amp;)
&lt;WK&gt;: BAILING BECAUSE CHANGE COUNTS DIFFER (33, 35)
&lt;WK&gt;: Got pasteboard item info? no
&lt;WK&gt;: Number of items: 0

It seems like what’s happening is that code in UIKit (-[UIKeyboardImpl delegateSupportsImagePaste]) that was added in support of Memojis in the software keyboard kicks in after we focus an element, pins a temporary PNG image to the pasteboard, clears the pinned PNG image, and finally restores the contents of the pasteboard to what it was before pinning. This causes the changeCount of the pasteboard to be incremented twice, which interferes with WebKit’s logic (in both the web and UI processes) that prevents the page from accessing the clipboard if the changeCount has changed underneath us.

Coincidentally, this seems to have been fixed after a recent UIKit change, &lt;rdar://problem/60891825&gt;. That explains why iOS bots running shipping software are hitting this...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657152</commentid>
    <comment_count>20</comment_count>
      <attachid>400548</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-28 22:12:50 -0700</bug_when>
    <thetext>Created attachment 400548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657159</commentid>
    <comment_count>21</comment_count>
      <attachid>400551</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-28 22:41:09 -0700</bug_when>
    <thetext>Created attachment 400551
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657173</commentid>
    <comment_count>22</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-29 00:27:08 -0700</bug_when>
    <thetext>Committed r262283: &lt;https://trac.webkit.org/changeset/262283&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400551.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400259</attachid>
            <date>2020-05-26 10:36:23 -0700</date>
            <delta_ts>2020-05-27 10:01:43 -0700</delta_ts>
            <desc>Repro attempt #1</desc>
            <filename>bug-212281-20200526103615.patch</filename>
            <type>text/plain</type>
            <size>4465219</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTYyM2JmMGIyM2NhZDE4
YzcxNWQyOWJlMzI3MTBiZDU3ZmFlYjdiMS4uN2VlN2EwYTZiNmU1N2ExY2M1ZGIwZmMzMTk5ZmNl
ZjI0MGRhODc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gVXNlIHNj
cmVlbiBmb250IG9wdGlvbnMgYXMgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1MDcxODg5NWFiNGM0ODUz
MTljZTJiYTY3Y2ZkYjYzYjJjMjc2YTRkLi42ZjI0NmM4MzdlNzI4YmJiYjRhZjFiOWExNTllZWI3
MTYxYzE4YjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1LTI2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChy
MjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZENvbW1p
dExvYWQpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gRml4IGNvbnRleHQgbWVudQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KaW5kZXgg
ZDJmMzIyMDA0N2Y2ZjM0MzUzNTZjOTc4NzUxMDM4ZTZiOGIwZjE5ZC4uMjNjYmVkMGM2YjZhNzEw
YzA0MTdkMDRiNWVkMTJhNjc3NDAxY2EyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCkBAIC0xNjYsNiArMTY2LDcgQEAg
c3RhdGljIFBhc3RlYm9hcmRJdGVtUHJlc2VudGF0aW9uU3R5bGUgcGFzdGVib2FyZEl0ZW1QcmVz
ZW50YXRpb25TdHlsZShVSVByZWZlcnIKIAogT3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBQ
bGF0Zm9ybVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV90IGluZGV4
LCBpbnQ2NF90IGNoYW5nZUNvdW50KQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRU
WV9GVU5DVElPTl9fKTsKICAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4o
W21fcGFzdGVib2FyZCBudW1iZXJPZkl0ZW1zXSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKQEAgLTYxNSw2ICs2MTYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPFdlYkl0ZW1Qcm92aWRl
clJlZ2lzdHJhdGlvbkluZm9MaXN0PiBjcmVhdGVJdGVtUHJvdmlkZXJSZWdpc3RyYQogCiBpbnQ2
NF90IFBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgVmVjdG9yPFBhc3RlYm9hcmRDdXN0
b21EYXRhPiYgaXRlbURhdGEpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIGF1dG8gcmVnaXN0cmF0aW9uTGlzdHMgPSBjcmVhdGVOU0FycmF5KGl0
ZW1EYXRhLCBbXSAoYXV0byYgZGF0YSkgewogICAgICAgICByZXR1cm4gY3JlYXRlSXRlbVByb3Zp
ZGVyUmVnaXN0cmF0aW9uTGlzdChkYXRhKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNDk0Yzg2YjMzYzAxN2NhZjM1MzY4YWQz
YjZiYWU3NmFlOGI3YTIxNS4uMjY3NjMwZTY1OThjMTdlNWZhM2I5ZWE1N2MwZmFmNTgxZjg2NGVi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTU5MDQsNiArNTkwNCw5IEBAIHZvaWQgV2ViUGFnZTo6ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSog
ZnJhbWUpCiAgICAgaWYgKCFmcmFtZS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwog
CisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgp
KQorICAgICAgICBvc19sb2coT1NfTE9HX0RFRkFVTFQsICI8V0s+OiBMb2FkaW5nICVzIiwgZG9j
dW1lbnQtPnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKG1fZHJhd2lu
Z0FyZWEpCiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPnNlbmRFbnRlckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5MGY4NTg3NWRjYWY4ZmZjN2IxNjE5YmQ3
MjIwZmY0YzkyMmQwMjUuLjZiZGVjY2Q4ODhjZGZhYjAxYWZlYTFkNTczOWRlZGJiYjZiZjc2MDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMDE1IEBACisyMDIwLTA1LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsg
aU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTAwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIx
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQx
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Nzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUx
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYx
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcx
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Nzct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkx
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zOgorCiAyMDIwLTA1LTI2ICBKYXNvbiBMYXdyZW5jZSAgPGxhd3JlbmNlLmpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IFsgTWFjIHdrMSBdIGZhc3QvZXZlbnRzL2Zv
cm0tb25jaGFuZ2UuaHRtbCBpcyBmbGFreSBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTczMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA1MTRhYWUxMzk2ODM2ZGVkZDk1OThkYmUyMDdlMzAzYmM1YmQxNzc3
Li4xNDE4YWYyNmVlYzNjZWY2NDcxYzUxYzQyNjc5MWYxZmU0NTdlM2MzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTkxLDYgKzkxLDQgQEAgd2Via2l0Lm9yZy9iLzIwODAzNiBodHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS53b3JrZXIuaHRtbAogCiB3ZWJraXQub3Jn
L2IvMjA5MjM0IFsgUmVsZWFzZSBdIHBsYXRmb3JtL2lvcy9pb3MvcGx1Z2luL3lvdXR1YmUtZmxh
c2gtcGx1Z2luLWlmcmFtZS1uby1oZWlnaHQtb3Itd2lkdGguaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKLXdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQt
a2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLXdlYmtpdC5vcmcvYi8yMTIy
ODEgWyBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQord2Via2l0Lm9yZy9iLzIwNzQ5NiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1
dC1rZXlzLmh0dHBzLmFueS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400260</attachid>
            <date>2020-05-26 10:37:10 -0700</date>
            <delta_ts>2020-05-27 10:01:58 -0700</delta_ts>
            <desc>Repro attempt #2</desc>
            <filename>bug-212281-20200526103701.patch</filename>
            <type>text/plain</type>
            <size>4465219</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTYyM2JmMGIyM2NhZDE4
YzcxNWQyOWJlMzI3MTBiZDU3ZmFlYjdiMS4uN2VlN2EwYTZiNmU1N2ExY2M1ZGIwZmMzMTk5ZmNl
ZjI0MGRhODc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gVXNlIHNj
cmVlbiBmb250IG9wdGlvbnMgYXMgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1MDcxODg5NWFiNGM0ODUz
MTljZTJiYTY3Y2ZkYjYzYjJjMjc2YTRkLi42ZjI0NmM4MzdlNzI4YmJiYjRhZjFiOWExNTllZWI3
MTYxYzE4YjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1LTI2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChy
MjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZENvbW1p
dExvYWQpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gRml4IGNvbnRleHQgbWVudQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KaW5kZXgg
ZDJmMzIyMDA0N2Y2ZjM0MzUzNTZjOTc4NzUxMDM4ZTZiOGIwZjE5ZC4uMjNjYmVkMGM2YjZhNzEw
YzA0MTdkMDRiNWVkMTJhNjc3NDAxY2EyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCkBAIC0xNjYsNiArMTY2LDcgQEAg
c3RhdGljIFBhc3RlYm9hcmRJdGVtUHJlc2VudGF0aW9uU3R5bGUgcGFzdGVib2FyZEl0ZW1QcmVz
ZW50YXRpb25TdHlsZShVSVByZWZlcnIKIAogT3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBQ
bGF0Zm9ybVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV90IGluZGV4
LCBpbnQ2NF90IGNoYW5nZUNvdW50KQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRU
WV9GVU5DVElPTl9fKTsKICAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4o
W21fcGFzdGVib2FyZCBudW1iZXJPZkl0ZW1zXSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKQEAgLTYxNSw2ICs2MTYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPFdlYkl0ZW1Qcm92aWRl
clJlZ2lzdHJhdGlvbkluZm9MaXN0PiBjcmVhdGVJdGVtUHJvdmlkZXJSZWdpc3RyYQogCiBpbnQ2
NF90IFBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgVmVjdG9yPFBhc3RlYm9hcmRDdXN0
b21EYXRhPiYgaXRlbURhdGEpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIGF1dG8gcmVnaXN0cmF0aW9uTGlzdHMgPSBjcmVhdGVOU0FycmF5KGl0
ZW1EYXRhLCBbXSAoYXV0byYgZGF0YSkgewogICAgICAgICByZXR1cm4gY3JlYXRlSXRlbVByb3Zp
ZGVyUmVnaXN0cmF0aW9uTGlzdChkYXRhKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNDk0Yzg2YjMzYzAxN2NhZjM1MzY4YWQz
YjZiYWU3NmFlOGI3YTIxNS4uMjY3NjMwZTY1OThjMTdlNWZhM2I5ZWE1N2MwZmFmNTgxZjg2NGVi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTU5MDQsNiArNTkwNCw5IEBAIHZvaWQgV2ViUGFnZTo6ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSog
ZnJhbWUpCiAgICAgaWYgKCFmcmFtZS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwog
CisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgp
KQorICAgICAgICBvc19sb2coT1NfTE9HX0RFRkFVTFQsICI8V0s+OiBMb2FkaW5nICVzIiwgZG9j
dW1lbnQtPnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKG1fZHJhd2lu
Z0FyZWEpCiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPnNlbmRFbnRlckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5MGY4NTg3NWRjYWY4ZmZjN2IxNjE5YmQ3
MjIwZmY0YzkyMmQwMjUuLjZiZGVjY2Q4ODhjZGZhYjAxYWZlYTFkNTczOWRlZGJiYjZiZjc2MDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMDE1IEBACisyMDIwLTA1LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsg
aU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTAwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIx
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQx
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Nzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUx
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYx
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcx
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Nzct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkx
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zOgorCiAyMDIwLTA1LTI2ICBKYXNvbiBMYXdyZW5jZSAgPGxhd3JlbmNlLmpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IFsgTWFjIHdrMSBdIGZhc3QvZXZlbnRzL2Zv
cm0tb25jaGFuZ2UuaHRtbCBpcyBmbGFreSBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTczMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA1MTRhYWUxMzk2ODM2ZGVkZDk1OThkYmUyMDdlMzAzYmM1YmQxNzc3
Li4xNDE4YWYyNmVlYzNjZWY2NDcxYzUxYzQyNjc5MWYxZmU0NTdlM2MzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTkxLDYgKzkxLDQgQEAgd2Via2l0Lm9yZy9iLzIwODAzNiBodHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS53b3JrZXIuaHRtbAogCiB3ZWJraXQub3Jn
L2IvMjA5MjM0IFsgUmVsZWFzZSBdIHBsYXRmb3JtL2lvcy9pb3MvcGx1Z2luL3lvdXR1YmUtZmxh
c2gtcGx1Z2luLWlmcmFtZS1uby1oZWlnaHQtb3Itd2lkdGguaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKLXdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQt
a2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLXdlYmtpdC5vcmcvYi8yMTIy
ODEgWyBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQord2Via2l0Lm9yZy9iLzIwNzQ5NiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1
dC1rZXlzLmh0dHBzLmFueS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400261</attachid>
            <date>2020-05-26 10:37:42 -0700</date>
            <delta_ts>2020-05-27 10:02:02 -0700</delta_ts>
            <desc>Repro attempt #3</desc>
            <filename>bug-212281-20200526103734.patch</filename>
            <type>text/plain</type>
            <size>4465219</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTYyM2JmMGIyM2NhZDE4
YzcxNWQyOWJlMzI3MTBiZDU3ZmFlYjdiMS4uN2VlN2EwYTZiNmU1N2ExY2M1ZGIwZmMzMTk5ZmNl
ZjI0MGRhODc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gVXNlIHNj
cmVlbiBmb250IG9wdGlvbnMgYXMgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1MDcxODg5NWFiNGM0ODUz
MTljZTJiYTY3Y2ZkYjYzYjJjMjc2YTRkLi42ZjI0NmM4MzdlNzI4YmJiYjRhZjFiOWExNTllZWI3
MTYxYzE4YjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1LTI2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChy
MjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZENvbW1p
dExvYWQpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gRml4IGNvbnRleHQgbWVudQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KaW5kZXgg
ZDJmMzIyMDA0N2Y2ZjM0MzUzNTZjOTc4NzUxMDM4ZTZiOGIwZjE5ZC4uMjNjYmVkMGM2YjZhNzEw
YzA0MTdkMDRiNWVkMTJhNjc3NDAxY2EyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCkBAIC0xNjYsNiArMTY2LDcgQEAg
c3RhdGljIFBhc3RlYm9hcmRJdGVtUHJlc2VudGF0aW9uU3R5bGUgcGFzdGVib2FyZEl0ZW1QcmVz
ZW50YXRpb25TdHlsZShVSVByZWZlcnIKIAogT3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBQ
bGF0Zm9ybVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV90IGluZGV4
LCBpbnQ2NF90IGNoYW5nZUNvdW50KQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRU
WV9GVU5DVElPTl9fKTsKICAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4o
W21fcGFzdGVib2FyZCBudW1iZXJPZkl0ZW1zXSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKQEAgLTYxNSw2ICs2MTYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPFdlYkl0ZW1Qcm92aWRl
clJlZ2lzdHJhdGlvbkluZm9MaXN0PiBjcmVhdGVJdGVtUHJvdmlkZXJSZWdpc3RyYQogCiBpbnQ2
NF90IFBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgVmVjdG9yPFBhc3RlYm9hcmRDdXN0
b21EYXRhPiYgaXRlbURhdGEpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIGF1dG8gcmVnaXN0cmF0aW9uTGlzdHMgPSBjcmVhdGVOU0FycmF5KGl0
ZW1EYXRhLCBbXSAoYXV0byYgZGF0YSkgewogICAgICAgICByZXR1cm4gY3JlYXRlSXRlbVByb3Zp
ZGVyUmVnaXN0cmF0aW9uTGlzdChkYXRhKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNDk0Yzg2YjMzYzAxN2NhZjM1MzY4YWQz
YjZiYWU3NmFlOGI3YTIxNS4uMjY3NjMwZTY1OThjMTdlNWZhM2I5ZWE1N2MwZmFmNTgxZjg2NGVi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTU5MDQsNiArNTkwNCw5IEBAIHZvaWQgV2ViUGFnZTo6ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSog
ZnJhbWUpCiAgICAgaWYgKCFmcmFtZS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwog
CisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgp
KQorICAgICAgICBvc19sb2coT1NfTE9HX0RFRkFVTFQsICI8V0s+OiBMb2FkaW5nICVzIiwgZG9j
dW1lbnQtPnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKG1fZHJhd2lu
Z0FyZWEpCiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPnNlbmRFbnRlckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5MGY4NTg3NWRjYWY4ZmZjN2IxNjE5YmQ3
MjIwZmY0YzkyMmQwMjUuLjZiZGVjY2Q4ODhjZGZhYjAxYWZlYTFkNTczOWRlZGJiYjZiZjc2MDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMDE1IEBACisyMDIwLTA1LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsg
aU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTAwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIx
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQx
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Nzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUx
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYx
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcx
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Nzct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkx
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zOgorCiAyMDIwLTA1LTI2ICBKYXNvbiBMYXdyZW5jZSAgPGxhd3JlbmNlLmpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IFsgTWFjIHdrMSBdIGZhc3QvZXZlbnRzL2Zv
cm0tb25jaGFuZ2UuaHRtbCBpcyBmbGFreSBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTczMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA1MTRhYWUxMzk2ODM2ZGVkZDk1OThkYmUyMDdlMzAzYmM1YmQxNzc3
Li4xNDE4YWYyNmVlYzNjZWY2NDcxYzUxYzQyNjc5MWYxZmU0NTdlM2MzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTkxLDYgKzkxLDQgQEAgd2Via2l0Lm9yZy9iLzIwODAzNiBodHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS53b3JrZXIuaHRtbAogCiB3ZWJraXQub3Jn
L2IvMjA5MjM0IFsgUmVsZWFzZSBdIHBsYXRmb3JtL2lvcy9pb3MvcGx1Z2luL3lvdXR1YmUtZmxh
c2gtcGx1Z2luLWlmcmFtZS1uby1oZWlnaHQtb3Itd2lkdGguaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKLXdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQt
a2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLXdlYmtpdC5vcmcvYi8yMTIy
ODEgWyBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQord2Via2l0Lm9yZy9iLzIwNzQ5NiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1
dC1rZXlzLmh0dHBzLmFueS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400262</attachid>
            <date>2020-05-26 10:38:28 -0700</date>
            <delta_ts>2020-05-27 10:02:06 -0700</delta_ts>
            <desc>Repro attempt #4</desc>
            <filename>bug-212281-20200526103820.patch</filename>
            <type>text/plain</type>
            <size>4465219</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTYyM2JmMGIyM2NhZDE4
YzcxNWQyOWJlMzI3MTBiZDU3ZmFlYjdiMS4uN2VlN2EwYTZiNmU1N2ExY2M1ZGIwZmMzMTk5ZmNl
ZjI0MGRhODc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gVXNlIHNj
cmVlbiBmb250IG9wdGlvbnMgYXMgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1MDcxODg5NWFiNGM0ODUz
MTljZTJiYTY3Y2ZkYjYzYjJjMjc2YTRkLi42ZjI0NmM4MzdlNzI4YmJiYjRhZjFiOWExNTllZWI3
MTYxYzE4YjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1LTI2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChy
MjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZENvbW1p
dExvYWQpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gRml4IGNvbnRleHQgbWVudQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KaW5kZXgg
ZDJmMzIyMDA0N2Y2ZjM0MzUzNTZjOTc4NzUxMDM4ZTZiOGIwZjE5ZC4uMjNjYmVkMGM2YjZhNzEw
YzA0MTdkMDRiNWVkMTJhNjc3NDAxY2EyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCkBAIC0xNjYsNiArMTY2LDcgQEAg
c3RhdGljIFBhc3RlYm9hcmRJdGVtUHJlc2VudGF0aW9uU3R5bGUgcGFzdGVib2FyZEl0ZW1QcmVz
ZW50YXRpb25TdHlsZShVSVByZWZlcnIKIAogT3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBQ
bGF0Zm9ybVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV90IGluZGV4
LCBpbnQ2NF90IGNoYW5nZUNvdW50KQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRU
WV9GVU5DVElPTl9fKTsKICAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4o
W21fcGFzdGVib2FyZCBudW1iZXJPZkl0ZW1zXSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKQEAgLTYxNSw2ICs2MTYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPFdlYkl0ZW1Qcm92aWRl
clJlZ2lzdHJhdGlvbkluZm9MaXN0PiBjcmVhdGVJdGVtUHJvdmlkZXJSZWdpc3RyYQogCiBpbnQ2
NF90IFBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgVmVjdG9yPFBhc3RlYm9hcmRDdXN0
b21EYXRhPiYgaXRlbURhdGEpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIGF1dG8gcmVnaXN0cmF0aW9uTGlzdHMgPSBjcmVhdGVOU0FycmF5KGl0
ZW1EYXRhLCBbXSAoYXV0byYgZGF0YSkgewogICAgICAgICByZXR1cm4gY3JlYXRlSXRlbVByb3Zp
ZGVyUmVnaXN0cmF0aW9uTGlzdChkYXRhKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNDk0Yzg2YjMzYzAxN2NhZjM1MzY4YWQz
YjZiYWU3NmFlOGI3YTIxNS4uMjY3NjMwZTY1OThjMTdlNWZhM2I5ZWE1N2MwZmFmNTgxZjg2NGVi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTU5MDQsNiArNTkwNCw5IEBAIHZvaWQgV2ViUGFnZTo6ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSog
ZnJhbWUpCiAgICAgaWYgKCFmcmFtZS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwog
CisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgp
KQorICAgICAgICBvc19sb2coT1NfTE9HX0RFRkFVTFQsICI8V0s+OiBMb2FkaW5nICVzIiwgZG9j
dW1lbnQtPnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKG1fZHJhd2lu
Z0FyZWEpCiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPnNlbmRFbnRlckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5MGY4NTg3NWRjYWY4ZmZjN2IxNjE5YmQ3
MjIwZmY0YzkyMmQwMjUuLjZiZGVjY2Q4ODhjZGZhYjAxYWZlYTFkNTczOWRlZGJiYjZiZjc2MDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMDE1IEBACisyMDIwLTA1LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsg
aU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTAwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIx
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQx
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Nzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUx
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYx
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcx
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Nzct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkx
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zOgorCiAyMDIwLTA1LTI2ICBKYXNvbiBMYXdyZW5jZSAgPGxhd3JlbmNlLmpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IFsgTWFjIHdrMSBdIGZhc3QvZXZlbnRzL2Zv
cm0tb25jaGFuZ2UuaHRtbCBpcyBmbGFreSBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTczMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA1MTRhYWUxMzk2ODM2ZGVkZDk1OThkYmUyMDdlMzAzYmM1YmQxNzc3
Li4xNDE4YWYyNmVlYzNjZWY2NDcxYzUxYzQyNjc5MWYxZmU0NTdlM2MzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTkxLDYgKzkxLDQgQEAgd2Via2l0Lm9yZy9iLzIwODAzNiBodHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS53b3JrZXIuaHRtbAogCiB3ZWJraXQub3Jn
L2IvMjA5MjM0IFsgUmVsZWFzZSBdIHBsYXRmb3JtL2lvcy9pb3MvcGx1Z2luL3lvdXR1YmUtZmxh
c2gtcGx1Z2luLWlmcmFtZS1uby1oZWlnaHQtb3Itd2lkdGguaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKLXdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQt
a2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLXdlYmtpdC5vcmcvYi8yMTIy
ODEgWyBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQord2Via2l0Lm9yZy9iLzIwNzQ5NiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1
dC1rZXlzLmh0dHBzLmFueS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400263</attachid>
            <date>2020-05-26 10:39:09 -0700</date>
            <delta_ts>2020-05-27 10:02:10 -0700</delta_ts>
            <desc>Repro attempt #5</desc>
            <filename>bug-212281-20200526103901.patch</filename>
            <type>text/plain</type>
            <size>4465219</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTYyM2JmMGIyM2NhZDE4
YzcxNWQyOWJlMzI3MTBiZDU3ZmFlYjdiMS4uN2VlN2EwYTZiNmU1N2ExY2M1ZGIwZmMzMTk5ZmNl
ZjI0MGRhODc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gVXNlIHNj
cmVlbiBmb250IG9wdGlvbnMgYXMgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1MDcxODg5NWFiNGM0ODUz
MTljZTJiYTY3Y2ZkYjYzYjJjMjc2YTRkLi42ZjI0NmM4MzdlNzI4YmJiYjRhZjFiOWExNTllZWI3
MTYxYzE4YjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1LTI2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChy
MjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZENvbW1p
dExvYWQpOgorCiAyMDIwLTA1LTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLNF0gRml4IGNvbnRleHQgbWVudQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KaW5kZXgg
ZDJmMzIyMDA0N2Y2ZjM0MzUzNTZjOTc4NzUxMDM4ZTZiOGIwZjE5ZC4uMjNjYmVkMGM2YjZhNzEw
YzA0MTdkMDRiNWVkMTJhNjc3NDAxY2EyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCkBAIC0xNjYsNiArMTY2LDcgQEAg
c3RhdGljIFBhc3RlYm9hcmRJdGVtUHJlc2VudGF0aW9uU3R5bGUgcGFzdGVib2FyZEl0ZW1QcmVz
ZW50YXRpb25TdHlsZShVSVByZWZlcnIKIAogT3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBQ
bGF0Zm9ybVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV90IGluZGV4
LCBpbnQ2NF90IGNoYW5nZUNvdW50KQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRU
WV9GVU5DVElPTl9fKTsKICAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4o
W21fcGFzdGVib2FyZCBudW1iZXJPZkl0ZW1zXSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKQEAgLTYxNSw2ICs2MTYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPFdlYkl0ZW1Qcm92aWRl
clJlZ2lzdHJhdGlvbkluZm9MaXN0PiBjcmVhdGVJdGVtUHJvdmlkZXJSZWdpc3RyYQogCiBpbnQ2
NF90IFBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgVmVjdG9yPFBhc3RlYm9hcmRDdXN0
b21EYXRhPiYgaXRlbURhdGEpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIGF1dG8gcmVnaXN0cmF0aW9uTGlzdHMgPSBjcmVhdGVOU0FycmF5KGl0
ZW1EYXRhLCBbXSAoYXV0byYgZGF0YSkgewogICAgICAgICByZXR1cm4gY3JlYXRlSXRlbVByb3Zp
ZGVyUmVnaXN0cmF0aW9uTGlzdChkYXRhKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNDk0Yzg2YjMzYzAxN2NhZjM1MzY4YWQz
YjZiYWU3NmFlOGI3YTIxNS4uMjY3NjMwZTY1OThjMTdlNWZhM2I5ZWE1N2MwZmFmNTgxZjg2NGVi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTU5MDQsNiArNTkwNCw5IEBAIHZvaWQgV2ViUGFnZTo6ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSog
ZnJhbWUpCiAgICAgaWYgKCFmcmFtZS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwog
CisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgp
KQorICAgICAgICBvc19sb2coT1NfTE9HX0RFRkFVTFQsICI8V0s+OiBMb2FkaW5nICVzIiwgZG9j
dW1lbnQtPnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKG1fZHJhd2lu
Z0FyZWEpCiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPnNlbmRFbnRlckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5MGY4NTg3NWRjYWY4ZmZjN2IxNjE5YmQ3
MjIwZmY0YzkyMmQwMjUuLjZiZGVjY2Q4ODhjZGZhYjAxYWZlYTFkNTczOWRlZGJiYjZiZjc2MDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMDE1IEBACisyMDIwLTA1LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsg
aU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTAwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIx
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQx
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Nzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUx
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYx
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcx
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Nzct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODI1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04ODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkx
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mzcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk0My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk2MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTYyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zOgorCiAyMDIwLTA1LTI2ICBKYXNvbiBMYXdyZW5jZSAgPGxhd3JlbmNlLmpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IFsgTWFjIHdrMSBdIGZhc3QvZXZlbnRzL2Zv
cm0tb25jaGFuZ2UuaHRtbCBpcyBmbGFreSBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwMC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMDAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTExMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTExMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mjg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Njg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTcyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTczMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTczMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Nzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkwMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTA0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwNi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTA3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MDguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkw
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTE4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI2
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mjkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTI5Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkzMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTkzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkzOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDAuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQ4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NDkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Mi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk1OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2MC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2My5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk2OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk2OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3MS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcy
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc1Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk3Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NzkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05ODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgzLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05ODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk4NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODcuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05ODkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05OTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk0Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk5Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA1MTRhYWUxMzk2ODM2ZGVkZDk1OThkYmUyMDdlMzAzYmM1YmQxNzc3
Li4xNDE4YWYyNmVlYzNjZWY2NDcxYzUxYzQyNjc5MWYxZmU0NTdlM2MzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTkxLDYgKzkxLDQgQEAgd2Via2l0Lm9yZy9iLzIwODAzNiBodHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS53b3JrZXIuaHRtbAogCiB3ZWJraXQub3Jn
L2IvMjA5MjM0IFsgUmVsZWFzZSBdIHBsYXRmb3JtL2lvcy9pb3MvcGx1Z2luL3lvdXR1YmUtZmxh
c2gtcGx1Z2luLWlmcmFtZS1uby1oZWlnaHQtb3Itd2lkdGguaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKLXdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQt
a2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLXdlYmtpdC5vcmcvYi8yMTIy
ODEgWyBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQord2Via2l0Lm9yZy9iLzIwNzQ5NiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1
dC1rZXlzLmh0dHBzLmFueS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400344</attachid>
            <date>2020-05-27 10:01:27 -0700</date>
            <delta_ts>2020-05-27 15:01:38 -0700</delta_ts>
            <desc>Repro attempt #6</desc>
            <filename>bug-212281-20200527100126.patch</filename>
            <type>text/plain</type>
            <size>453373</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZmZTg4M2E2YTkwN2Zl
MzRhZWIwYTkyYzVlODY4NjRkY2QyMjFmNy4uZDBlZGQ0NzgyYjdkMDcxZjNiNzFmZWQxNzQ5ZTM1
MjRhZmYxZTg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI3ICBNaWd1ZWwgR29t
ZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gUkVHUkVTU0lPTihyMjUz
Njc1KSBDcmFzaCB3aGVuIHVzaW5nIHRocmVhZGVkIHJlbmRlcmluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzOTg5
NjAxNTJlNjdhMzM0YWMwNmNjZWNhNGZmM2M4MDY3MTQzNWI1Li5hZTUzN2ZiNzllYWQyYTY1NDE5
ZDM4YjZmZTI1NzZmYTA1ZjFhNjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1
LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT046IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWls
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIy
ODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmRpZENvbW1pdExvYWQpOgorCiAyMDIwLTA1LTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBbR1RLXSBNYWtlIHdl
YmtpdFdlYlZpZXdCYXNlU25hcHNob3Qgc3RhdGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcAppbmRleCA0ZGU2ZDQxNTE1NWE5
N2QwMmMxYmVhOTY4MDNkOWMyYjdmZTRhZmQ4Li4zZDc4OTc4MjBkZGE4ZTQwYzNiMjkwNDc3MzM4
MzEyMzQ3NjI3OGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNs
aXBib2FyZC9DbGlwYm9hcmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMt
Y2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKQEAgLTE0OCw2ICsxNDgsMTAgQEAgdm9pZCBDbGlwYm9h
cmQ6OndyaXRlVGV4dChjb25zdCBTdHJpbmcmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKICAgICBwcm9taXNlLT5yZXNvbHZlKCk7CiB9CiAKKyNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKK3RoaXMganVzdCBoZXJlIHRvIG1ha2UgRVdTIGZhaWwgZWFybHkgb24gbm9uLWlP
UyBib3RzIDpQCisjZW5kaWYKKwogdm9pZCBDbGlwYm9hcmQ6OnJlYWQoUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQogewogICAgIGF1dG8gcmVqZWN0UHJvbWlzZUFuZENsZWFyQWN0aXZl
U2Vzc2lvbiA9IFsmXSB7CkBAIC0xNTcsNiArMTYxLDcgQEAgdm9pZCBDbGlwYm9hcmQ6OnJlYWQo
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogCiAgICAgYXV0byBmcmFtZSA9IG1ha2VS
ZWZQdHIodGhpcy0+ZnJhbWUoKSk7CiAgICAgaWYgKCFmcmFtZSkgeworICAgICAgICBvc19sb2co
T1NfTE9HX0RFRkFVTFQsICI8V0s+OiBNaXNzaW5nIGZyYW1lPyIpOwogICAgICAgICByZWplY3RQ
cm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNzaW9uKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC0xNjQsMTEgKzE2OSwxNCBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCiAgICAgYXV0byBwYXN0ZWJvYXJkID0gUGFzdGVib2FyZDo6Y3JlYXRl
Rm9yQ29weUFuZFBhc3RlKCk7CiAgICAgYXV0byBjaGFuZ2VDb3VudEF0U3RhcnQgPSBwYXN0ZWJv
YXJkLT5jaGFuZ2VDb3VudCgpOwogCisgICAgb3NfbG9nKE9TX0xPR19ERUZBVUxULCAiPFdLPjog
UmVxdWVzdGluZyBET00gcGFzdGUgYWNjZXNzLi4uIik7CiAgICAgaWYgKCFmcmFtZS0+cmVxdWVz
dERPTVBhc3RlQWNjZXNzKCkpIHsKKyAgICAgICAgb3NfbG9nKE9TX0xPR19ERUZBVUxULCAiPFdL
PjogLi4uZmFpbGVkLiIpOwogICAgICAgICByZWplY3RQcm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNz
aW9uKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBvc19sb2coT1NfTE9HX0RFRkFV
TFQsICI8V0s+OiAuLi5wYXNzZWQuIik7CiAgICAgaWYgKCFtX2FjdGl2ZVNlc3Npb24gfHwgbV9h
Y3RpdmVTZXNzaW9uLT5jaGFuZ2VDb3VudCAhPSBjaGFuZ2VDb3VudEF0U3RhcnQpIHsKICAgICAg
ICAgYXV0byBhbGxJbmZvID0gcGFzdGVib2FyZC0+YWxsUGFzdGVib2FyZEl0ZW1JbmZvKCk7CiAg
ICAgICAgIGlmICghYWxsSW5mbykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rh
dGFUcmFuc2Zlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcAppbmRl
eCA4NDYzYTQ4ZTk3NGZiZTNmNzdmNjY5ZTUxNzgyNDc5Yjk0Y2IxMDk2Li45MjBjNzkxMWY0MmI3
NDdlNjMzNGNkNzIzODg3NGNmYjY2ZjUyYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRGF0YVRyYW5zZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVy
LmNwcApAQCAtNDMwLDEyICs0MzAsMTQgQEAgdm9pZCBEYXRhVHJhbnNmZXI6OmNvbW1pdFRvUGFz
dGVib2FyZChQYXN0ZWJvYXJkJiBuYXRpdmVQYXN0ZWJvYXJkKQogICAgICAgICAvLyB0aGF0IG1h
eSBoYXZlIGJlZW4gd3JpdHRlbiBiZWZvcmUgc3RhcnRpbmcgdGhlIGRyYWcgb3IgY29weWluZywg
YW5kIGFmdGVyIGVuZGluZyB0aGUgbGFzdAogICAgICAgICAvLyBkcmFnIHNlc3Npb24gb3IgcGFz
dGUuIEFmdGVyIHB1c2hpbmcgdGhlIHN0YXRpYyBwYXN0ZWJvYXJkJ3MgY29udGVudHMgdG8gdGhl
IHBsYXRmb3JtLCB0aGUKICAgICAgICAgLy8gcGFzdGVib2FyZCBzaG91bGQgb25seSBjb250YWlu
IGRhdGEgdGhhdCB3YXMgaW4gdGhlIHN0YXRpYyBwYXN0ZWJvYXJkLgorICAgICAgICBvc19sb2co
T1NfTE9HX0RFRkFVTFQsICI8V0s+OiBDbGVhcmluZyBuYXRpdmUgcGFzdGVib2FyZC4iKTsKICAg
ICAgICAgbmF0aXZlUGFzdGVib2FyZC5jbGVhcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9t
UGFzdGVib2FyZERhdGFFbmFibGVkKCkpIHsKICAgICAgICAgY3VzdG9tRGF0YS5zZXRPcmlnaW4o
bV9vcmlnaW5JZGVudGlmaWVyKTsKKyAgICAgICAgb3NfbG9nKE9TX0xPR19ERUZBVUxULCAiPFdL
PjogV3JpdGluZyBjdXN0b20gZGF0YS4iKTsKICAgICAgICAgbmF0aXZlUGFzdGVib2FyZC53cml0
ZUN1c3RvbURhdGEoeyBjdXN0b21EYXRhIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElP
Uy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1Mu
bW0KaW5kZXggZDJmMzIyMDA0N2Y2ZjM0MzUzNTZjOTc4NzUxMDM4ZTZiOGIwZjE5ZC4uODczZGVl
YTdkZjFlYzQxZjNjMzJmZDkyYjljMDgyZWEyZTM0ODAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCkBAIC02MTUsNiAr
NjE1LDcgQEAgc3RhdGljIFJldGFpblB0cjxXZWJJdGVtUHJvdmlkZXJSZWdpc3RyYXRpb25JbmZv
TGlzdD4gY3JlYXRlSXRlbVByb3ZpZGVyUmVnaXN0cmEKIAogaW50NjRfdCBQbGF0Zm9ybVBhc3Rl
Ym9hcmQ6OndyaXRlKGNvbnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4mIGl0ZW1EYXRh
KQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBh
dXRvIHJlZ2lzdHJhdGlvbkxpc3RzID0gY3JlYXRlTlNBcnJheShpdGVtRGF0YSwgW10gKGF1dG8m
IGRhdGEpIHsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUl0ZW1Qcm92aWRlclJlZ2lzdHJhdGlvbkxp
c3QoZGF0YSk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCAzMTYwNmE5NTg3ZjUxYjBiM2Fl
YWFiZjU2YmMzNTk2YzJkODQwM2YzLi4zMDQ3NjRmMWI3NDQwZWUzMWJlNDE1NTgwMDQxYThlMTcx
MzI4OGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTQyNDcsNyArNDI0Nyw5IEBAIC0gKHZvaWQpcmVx
dWVzdEF1dG9jb3JyZWN0aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXiko
VUlXS0F1dG9jb3JyCiAgICAgX3BhZ2UtPnJlcXVlc3RBdXRvY29ycmVjdGlvbkNvbnRleHQoKTsK
IAogICAgIGlmICh1c2VTeW5jUmVxdWVzdCkgeworICAgICAgICBOU0xvZyhAIjxXSz46IFdhaXRp
bmcgZm9yIGF1dG9jb3JyZWN0aW9uIGNvbnRleHQuLi4iKTsKICAgICAgICAgX3BhZ2UtPnByb2Nl
c3MoKS5jb25uZWN0aW9uKCktPndhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkhhbmRsZUF1dG9jb3JyZWN0aW9uQ29udGV4dD4oX3BhZ2UtPndlYlBh
Z2VJRCgpLCAxX3MsIElQQzo6V2FpdEZvck9wdGlvbjo6RGlzcGF0Y2hJbmNvbWluZ1N5bmNNZXNz
YWdlc1doaWxlV2FpdGluZyk7CisgICAgICAgIE5TTG9nKEAiPFdLPjogLi4uZG9uZSB3YWl0aW5n
ISIpOwogICAgICAgICBbc2VsZiBfY2FuY2VsUGVuZGluZ0F1dG9jb3JyZWN0aW9uQ29udGV4dEhh
bmRsZXJdOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggYzc4OTc3YTg5ZDNiYWM2MzE5ZjJlNGE0ZGVkYmE1MTY3Njc4NzJmMS4u
NDQ3OTYzN2YzNjY5NzNiY2M5Y2FkZTM5MDhmYzY1MGNlZjZjMDhmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU5MDcsNiArNTkwNyw5IEBA
IHZvaWQgV2ViUGFnZTo6ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSogZnJhbWUpCiAgICAgaWYgKCFm
cmFtZS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8qIGRv
Y3VtZW50ID0gZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgpKQorICAgICAgICBvc19sb2co
T1NfTE9HX0RFRkFVTFQsICI8V0s+OiBDb21taXR0ZWQgbG9hZDogPCVzPiIsIGRvY3VtZW50LT51
cmwoKS5wYXRoKCkudG9TdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKwogICAgIGlmIChtX2RyYXdp
bmdBcmVhKQogICAgICAgICBtX2RyYXdpbmdBcmVhLT5zZW5kRW50ZXJBY2NlbGVyYXRlZENvbXBv
c2l0aW5nTW9kZUlmTmVlZGVkKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3YmQ1NjNkZjhhZWEyZmU5NTc0N2U5OGZh
ZmM5MDNmZjQzMTAyMjU5Li4zMTMwMTc4ZTcyM2ExYjE4MmU4M2ViNzc2MmU1YTRkNWVmNzMwN2Ji
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjE0IEBACisyMDIwLTA1LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsg
aU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEwMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzguaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTkuaHRtbDogQWRkZWQuCisKIDIwMjAtMDUtMjcgIEphc29uIExhd3JlbmNlICA8bGF3
cmVuY2UuakBhcHBsZS5jb20+CiAKICAgICAgICAgWyBDYXRhbGluYSB3azIgXSB3ZWJydGMvdmlk
ZW8tYXV0b3BsYXkxLmh0bWwgaXMgZmxha3kgZmFpbGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAw
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjguaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTczLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNTE0YWFlMTM5NjgzNmRlZGQ5NTk4ZGJlMjA3ZTMwM2JjNWJkMTc3Ny4uNzcyMzUy
MmYzMzU5ZGUzNWEwNjZkYzE1OTUzZjFhNjdjMWFhM2Y5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC05
Miw1ICs5MiwzIEBAIHdlYmtpdC5vcmcvYi8yMDgwMzYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9j
YWNoZS1wdXQta2V5cy5odHRwcy5hbnkud29ya2VyLmh0bWwKIHdlYmtpdC5vcmcvYi8yMDkyMzQg
WyBSZWxlYXNlIF0gcGxhdGZvcm0vaW9zL2lvcy9wbHVnaW4veW91dHViZS1mbGFzaC1wbHVnaW4t
aWZyYW1lLW5vLWhlaWdodC1vci13aWR0aC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0
Lm9yZy9iLzIwNzQ5NiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBz
LmFueS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQotd2Via2l0Lm9yZy9iLzIxMjI4MSBbIFJlbGVh
c2UgXSBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400348</attachid>
            <date>2020-05-27 10:27:37 -0700</date>
            <delta_ts>2020-05-27 15:01:40 -0700</delta_ts>
            <desc>Repro attempt #7 (more logging)</desc>
            <filename>bug-212281-20200527102736.patch</filename>
            <type>text/plain</type>
            <size>467038</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZmZTg4M2E2YTkwN2Zl
MzRhZWIwYTkyYzVlODY4NjRkY2QyMjFmNy4uZDBlZGQ0NzgyYjdkMDcxZjNiNzFmZWQxNzQ5ZTM1
MjRhZmYxZTg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI3ICBNaWd1ZWwgR29t
ZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gUkVHUkVTU0lPTihyMjUz
Njc1KSBDcmFzaCB3aGVuIHVzaW5nIHRocmVhZGVkIHJlbmRlcmluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzOTg5
NjAxNTJlNjdhMzM0YWMwNmNjZWNhNGZmM2M4MDY3MTQzNWI1Li5hZTUzN2ZiNzllYWQyYTY1NDE5
ZDM4YjZmZTI1NzZmYTA1ZjFhNjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1
LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT046IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWls
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIy
ODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmRpZENvbW1pdExvYWQpOgorCiAyMDIwLTA1LTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBbR1RLXSBNYWtlIHdl
YmtpdFdlYlZpZXdCYXNlU25hcHNob3Qgc3RhdGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcAppbmRleCA0ZGU2ZDQxNTE1NWE5
N2QwMmMxYmVhOTY4MDNkOWMyYjdmZTRhZmQ4Li4zZDc4OTc4MjBkZGE4ZTQwYzNiMjkwNDc3MzM4
MzEyMzQ3NjI3OGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNs
aXBib2FyZC9DbGlwYm9hcmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMt
Y2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKQEAgLTE0OCw2ICsxNDgsMTAgQEAgdm9pZCBDbGlwYm9h
cmQ6OndyaXRlVGV4dChjb25zdCBTdHJpbmcmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKICAgICBwcm9taXNlLT5yZXNvbHZlKCk7CiB9CiAKKyNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKK3RoaXMganVzdCBoZXJlIHRvIG1ha2UgRVdTIGZhaWwgZWFybHkgb24gbm9uLWlP
UyBib3RzIDpQCisjZW5kaWYKKwogdm9pZCBDbGlwYm9hcmQ6OnJlYWQoUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQogewogICAgIGF1dG8gcmVqZWN0UHJvbWlzZUFuZENsZWFyQWN0aXZl
U2Vzc2lvbiA9IFsmXSB7CkBAIC0xNTcsNiArMTYxLDcgQEAgdm9pZCBDbGlwYm9hcmQ6OnJlYWQo
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogCiAgICAgYXV0byBmcmFtZSA9IG1ha2VS
ZWZQdHIodGhpcy0+ZnJhbWUoKSk7CiAgICAgaWYgKCFmcmFtZSkgeworICAgICAgICBvc19sb2co
T1NfTE9HX0RFRkFVTFQsICI8V0s+OiBNaXNzaW5nIGZyYW1lPyIpOwogICAgICAgICByZWplY3RQ
cm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNzaW9uKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC0xNjQsMTEgKzE2OSwxNCBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCiAgICAgYXV0byBwYXN0ZWJvYXJkID0gUGFzdGVib2FyZDo6Y3JlYXRl
Rm9yQ29weUFuZFBhc3RlKCk7CiAgICAgYXV0byBjaGFuZ2VDb3VudEF0U3RhcnQgPSBwYXN0ZWJv
YXJkLT5jaGFuZ2VDb3VudCgpOwogCisgICAgb3NfbG9nKE9TX0xPR19ERUZBVUxULCAiPFdLPjog
UmVxdWVzdGluZyBET00gcGFzdGUgYWNjZXNzLi4uIik7CiAgICAgaWYgKCFmcmFtZS0+cmVxdWVz
dERPTVBhc3RlQWNjZXNzKCkpIHsKKyAgICAgICAgb3NfbG9nKE9TX0xPR19ERUZBVUxULCAiPFdL
PjogLi4uZmFpbGVkLiIpOwogICAgICAgICByZWplY3RQcm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNz
aW9uKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBvc19sb2coT1NfTE9HX0RFRkFV
TFQsICI8V0s+OiAuLi5wYXNzZWQuIik7CiAgICAgaWYgKCFtX2FjdGl2ZVNlc3Npb24gfHwgbV9h
Y3RpdmVTZXNzaW9uLT5jaGFuZ2VDb3VudCAhPSBjaGFuZ2VDb3VudEF0U3RhcnQpIHsKICAgICAg
ICAgYXV0byBhbGxJbmZvID0gcGFzdGVib2FyZC0+YWxsUGFzdGVib2FyZEl0ZW1JbmZvKCk7CiAg
ICAgICAgIGlmICghYWxsSW5mbykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rh
dGFUcmFuc2Zlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcAppbmRl
eCA4NDYzYTQ4ZTk3NGZiZTNmNzdmNjY5ZTUxNzgyNDc5Yjk0Y2IxMDk2Li45MjBjNzkxMWY0MmI3
NDdlNjMzNGNkNzIzODg3NGNmYjY2ZjUyYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRGF0YVRyYW5zZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVy
LmNwcApAQCAtNDMwLDEyICs0MzAsMTQgQEAgdm9pZCBEYXRhVHJhbnNmZXI6OmNvbW1pdFRvUGFz
dGVib2FyZChQYXN0ZWJvYXJkJiBuYXRpdmVQYXN0ZWJvYXJkKQogICAgICAgICAvLyB0aGF0IG1h
eSBoYXZlIGJlZW4gd3JpdHRlbiBiZWZvcmUgc3RhcnRpbmcgdGhlIGRyYWcgb3IgY29weWluZywg
YW5kIGFmdGVyIGVuZGluZyB0aGUgbGFzdAogICAgICAgICAvLyBkcmFnIHNlc3Npb24gb3IgcGFz
dGUuIEFmdGVyIHB1c2hpbmcgdGhlIHN0YXRpYyBwYXN0ZWJvYXJkJ3MgY29udGVudHMgdG8gdGhl
IHBsYXRmb3JtLCB0aGUKICAgICAgICAgLy8gcGFzdGVib2FyZCBzaG91bGQgb25seSBjb250YWlu
IGRhdGEgdGhhdCB3YXMgaW4gdGhlIHN0YXRpYyBwYXN0ZWJvYXJkLgorICAgICAgICBvc19sb2co
T1NfTE9HX0RFRkFVTFQsICI8V0s+OiBDbGVhcmluZyBuYXRpdmUgcGFzdGVib2FyZC4iKTsKICAg
ICAgICAgbmF0aXZlUGFzdGVib2FyZC5jbGVhcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9t
UGFzdGVib2FyZERhdGFFbmFibGVkKCkpIHsKICAgICAgICAgY3VzdG9tRGF0YS5zZXRPcmlnaW4o
bV9vcmlnaW5JZGVudGlmaWVyKTsKKyAgICAgICAgb3NfbG9nKE9TX0xPR19ERUZBVUxULCAiPFdL
PjogV3JpdGluZyBjdXN0b20gZGF0YS4iKTsKICAgICAgICAgbmF0aXZlUGFzdGVib2FyZC53cml0
ZUN1c3RvbURhdGEoeyBjdXN0b21EYXRhIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbQppbmRleCAwYTQwZGNm
MmViYjg2NDRmM2JlZjg0NWJmMTIxOGFiMmUyNWMzYzBlLi5mM2ZkZGEzMzZiZDc0ODliOTdmOWRl
N2IxOTY2Y2M0Y2QwZjhjOGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFz
dGVib2FyZElPUy5tbQpAQCAtNDY4LDYgKzQ2OCw3IEBAIHZvaWQgUGFzdGVib2FyZDo6Y2xlYXIo
Y29uc3QgU3RyaW5nJiB0eXBlKQogCiB2b2lkIFBhc3RlYm9hcmQ6OmNsZWFyKCkKIHsKKyAgICBO
U0xvZyhAIjxXSz46IENsZWFyaW5nIHBhc3RlYm9hcmQ/Iik7CiAgICAgcGxhdGZvcm1TdHJhdGVn
aWVzKCktPnBhc3RlYm9hcmRTdHJhdGVneSgpLT53cml0ZVRvUGFzdGVib2FyZChTdHJpbmcoKSwg
U3RyaW5nKCksIG1fcGFzdGVib2FyZE5hbWUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQppbmRleCBkMmYzMjIwMDQ3
ZjZmMzQzNTM1NmM5Nzg3NTEwMzhlNmI4YjBmMTlkLi44NzNkZWVhN2RmMWVjNDFmM2MzMmZkOTJi
OWMwODJlYTJlMzQ4MDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KQEAgLTYxNSw2ICs2MTUsNyBAQCBzdGF0aWMgUmV0
YWluUHRyPFdlYkl0ZW1Qcm92aWRlclJlZ2lzdHJhdGlvbkluZm9MaXN0PiBjcmVhdGVJdGVtUHJv
dmlkZXJSZWdpc3RyYQogCiBpbnQ2NF90IFBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUoY29uc3Qg
VmVjdG9yPFBhc3RlYm9hcmRDdXN0b21EYXRhPiYgaXRlbURhdGEpCiB7CisgICAgTlNMb2coQCI8
V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIGF1dG8gcmVnaXN0cmF0aW9uTGlz
dHMgPSBjcmVhdGVOU0FycmF5KGl0ZW1EYXRhLCBbXSAoYXV0byYgZGF0YSkgewogICAgICAgICBy
ZXR1cm4gY3JlYXRlSXRlbVByb3ZpZGVyUmVnaXN0cmF0aW9uTGlzdChkYXRhKTsKICAgICB9KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQ
cm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2Fy
ZFByb3h5Q29jb2EubW0KaW5kZXggMTg3MGViYzQxNDFiNmJkOGRjMTcwNTEyNzFjNmUyNWJhZjhj
ZmVlZS4uOTRkNGZkMjZjNDI2MDY5OTA4ZjY1ZjhmZDg2NDExMjE2YTYxODZhYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5
Q29jb2EubW0KQEAgLTEzOCw2ICsxMzgsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6ZGlk
TW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aQogCiB2
b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFR5cGVzKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAg
ICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5B
Y2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIApAQCAtMTQ5LDYgKzE1MCw3IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBjb25zdCBTCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVi
b2FyZFBhdGhuYW1lc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLAogICAg
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJiBwYXRobmFtZXMsIFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZUFycmF5JiYgc2FuZGJveEV4dGVuc2lvbnMpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9f
KTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHko
KSwgY29tcGxldGlvbkhhbmRsZXIoeyB9LCB7IH0pKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIHNo
b3VsZCBjb25zdWx0IGNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKCkgaW5zdGVhZCwgYW5kIGF2b2lk
IHJlc3BvbmRpbmcgd2l0aCBmaWxlIHBhdGhzIGlmIGl0IHJldHVybnMgZmFsc2UuCkBAIC0xNzYs
NiArMTc4LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRQYXRobmFt
ZXNGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGkKIAogdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OmdldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwog
ICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBj
b21wbGV0aW9uSGFuZGxlcih7IH0pKTsKIAogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERh
dGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtMTg2LDYgKzE4OSw3IEBAIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZShJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJv
YXJkU3RyaW5nc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
eworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNT
QUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29tcGxldGlv
bkhhbmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5l
Y3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTE5Niw2ICsyMDAsNyBAQCB2b2lkIFdlYlBhc3Rl
Ym9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFN0cmluZ3NGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZEJ1ZmZl
ckZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFNoYXJlZE1lbW9yeTo6SGFuZGxlJiYsIHVpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKKyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAg
ICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNv
bXBsZXRpb25IYW5kbGVyKHsgfSwgMCkpOwogCiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJk
RGF0YShjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCkBAIC0yMTgsMTEgKzIyMywxMyBAQCB2
b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGUoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLAogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFz
dGVib2FyZENoYW5nZUNvdW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoaW50NjRfdCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgTlNM
b2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIGNvbXBsZXRpb25IYW5k
bGVyKFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKSk7CiB9
CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkQ29sb3IoSVBDOjpDb25u
ZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNvbG9yJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
eworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAo
IWNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAg
ICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiAKQEAgLTIzMSw2ICsyMzgsNyBA
QCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZENvbG9yKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0
UGFzdGVib2FyZFVSTChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3RyaW5nJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwg
cGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsK
IApAQCAtMjM5LDYgKzI0Nyw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJv
YXJkVVJMKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyCiAKIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5OjphZGRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgcGFzdGVib2FyZFR5cGVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3QpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmROYW1lLmlz
RW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgZm9yIChhdXRvJiB0eXBlIDog
cGFzdGVib2FyZFR5cGVzKQpAQCAtMjUyLDYgKzI2MSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFBy
b3h5OjphZGRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25z
dCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMi
LCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBh
c3RlYm9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgZm9y
IChhdXRvJiB0eXBlIDogcGFzdGVib2FyZFR5cGVzKQpAQCAtMjY1LDYgKzI3NSw3IEBAIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJv
YXJkVVJMKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUGFzdGVib2FyZFVSTCYg
cGFzdGVib2FyZFVSTCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBOU0xvZyhA
IjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01Q
TEVUSU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsK
IAogICAgIGlmIChhdXRvKiB3ZWJQcm9jZXNzUHJveHkgPSB3ZWJQcm9jZXNzUHJveHlGb3JDb25u
ZWN0aW9uKGNvbm5lY3Rpb24pKSB7CkBAIC0yODEsNiArMjkyLDcgQEAgdm9pZCBXZWJQYXN0ZWJv
YXJkUHJveHk6OnNldFBhc3RlYm9hcmRVUkwoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBj
b25zdCBQYXMKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9hcmRDb2xvcihJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xvciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2
NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19Q
UkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJv
YXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsKIAogICAgIGF1dG8gcHJl
dmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hh
bmdlQ291bnQoKTsKQEAgLTI5MSw2ICszMDMsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
c2V0UGFzdGVib2FyZENvbG9yKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUwog
CiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0UGFzdGVib2FyZFN0cmluZ0ZvclR5cGUoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHN0cmluZywgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBO
U0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVD
S19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVy
KDApKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1w
dHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCkBAIC0zMjAsNiArMzMzLDcgQEAgdm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OnVybFN0cmluZ1N1aXRhYmxlRm9yTG9hZGluZyhJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24KIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9h
cmRCdWZmZXJGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU2hh
cmVkTWVtb3J5OjpIYW5kbGUmIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBOU0xvZyhAIjxX
Sz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVU
SU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsKICAg
ICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29t
cGxldGlvbkhhbmRsZXIoMCkpOwogCkBAIC0zNDQsNiArMzU4LDcgQEAgdm9pZCBXZWJQYXN0ZWJv
YXJkUHJveHk6OnNldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29u
bmVjdGlvbiwKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldE51bWJlck9mRmlsZXMoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHVpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
KyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFj
YW5BY2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAg
ICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoMCk7CiAKQEAgLTM1Miw2ICszNjcsNyBAQCB2
b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0TnVtYmVyT2ZGaWxlcyhJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIGNvbnN0IFN0cgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6dHlwZXNT
YWZlRm9yRE9NVG9SZWFkQW5kV3JpdGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
KyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FH
RV9DSEVDS19DT01QTEVUSU9OKCFvcmlnaW4uaXNOdWxsKCksIGNvbXBsZXRpb25IYW5kbGVyKHsg
fSkpOwogCiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFz
dGVib2FyZE5hbWUpKQpAQCAtMzYyLDYgKzM3OCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
Ojp0eXBlc1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUN1c3RvbURhdGEoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBjb25zdCBWZWN0b3I8UGFzdGVib2FyZEN1c3RvbURhdGE+JiBkYXRh
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGlu
dDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBf
X1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3Rl
Ym9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgYXV0byBw
cmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5j
aGFuZ2VDb3VudCgpOwpAQCAtMzcyLDYgKzM4OSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
Ojp3cml0ZUN1c3RvbURhdGEoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBWZWN0
CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjphbGxQYXN0ZWJvYXJkSXRlbUluZm8oSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2
NF90IGNoYW5nZUNvdW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFZlY3RvcjxQ
YXN0ZWJvYXJkSXRlbUluZm8+PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBOU0xv
ZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5BY2Nlc3NQ
YXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1
cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIApAQCAtMzgwLDYgKzM5OCw3IEBAIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5OjphbGxQYXN0ZWJvYXJkSXRlbUluZm8oSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjppbmZvcm1hdGlvbkZv
ckl0ZW1BdEluZGV4KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZV90IGluZGV4LCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4mJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9O
X18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZFR5cGVzKGNvbm5lY3Rpb24sIHBhc3Rl
Ym9hcmROYW1lKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKFdURjo6bnVsbG9w
dCk7CiAKQEAgLTM4OCw2ICs0MDcsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6aW5mb3Jt
YXRpb25Gb3JJdGVtQXRJbmRleChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sCiAKIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQodWludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9n
KEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAoIWNhbkFjY2Vzc1Bh
c3RlYm9hcmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCiAgICAgICAgIHJldHVy
biBjb21wbGV0aW9uSGFuZGxlcigwKTsKIApAQCAtMzk2LDYgKzQxNiw3IEBAIHZvaWQgV2ViUGFz
dGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIGNvCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZWFkU3RyaW5nRnJvbVBh
c3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewor
ICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdF
X0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29tcGxldGlvbkhh
bmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rp
b24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTQwNiw2ICs0MjcsNyBAQCB2b2lkIFdlYlBhc3RlYm9h
cmRQcm94eTo6cmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgcwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZFVSTEZyb21QYXN0ZWJvYXJk
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyYmIHVybCwgU3Ry
aW5nJiYgdGl0bGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjog
JXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmRE
YXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRp
b25IYW5kbGVyKHsgfSwgeyB9KTsKIApAQCAtNDE2LDYgKzQzOCw3IEBAIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5OjpyZWFkVVJMRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBzaXplCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZWFkQnVmZmVyRnJvbVBhc3Rl
Ym9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpIYW5kbGUmJiwgdWludDY0X3Qgc2l6ZSk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZ
X0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5
cGUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcih7IH0sIDApKTsKIAogICAgIGlmICghY2Fu
QWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtNDQ4
LDYgKzQ3MSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojpjb250YWluc1N0cmluZ1NhZmVG
b3JET01Ub1JlYWRGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYKIAogdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OndyaXRlVVJMVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
Y29uc3QgUGFzdGVib2FyZFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQog
eworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNT
QUdFX0NIRUNLKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCkpOwogCiAgICAgYXV0byBwcmV2aW91
c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VD
b3VudCgpOwpAQCAtNDU3LDYgKzQ4MSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0
ZVVSTFRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0CiAKIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkV2ViQ29udGVu
dCYgY29udGVudCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKIHsKKyAgICBOU0xvZyhA
IjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDSyghcGFz
dGVib2FyZE5hbWUuaXNFbXB0eSgpKTsKIAogICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9
IFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKQEAgLTQ2
Niw2ICs0OTEsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVXZWJDb250ZW50VG9Q
YXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9h
cmRQcm94eTo6d3JpdGVJbWFnZVRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24sIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFnZSYgcGFzdGVib2FyZEltYWdlLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BS
RVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkTmFtZS5pc0Vt
cHR5KCkpOwogCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJv
YXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwpAQCAtNDc1LDYgKzUwMSw3IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgY29uCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVN0
cmluZ1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSkKIHsKKyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05f
Xyk7CiAgICAgTUVTU0FHRV9DSEVDSyghcGFzdGVib2FyZE5hbWUuaXNFbXB0eSgpKTsKICAgICBN
RVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCkgfHwgdGV4dC5pc0VtcHR5KCkp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQppbmRleCAzMTYwNmE5NTg3ZjUxYjBiM2FlYWFiZjU2YmMzNTk2YzJk
ODQwM2YzLi4zMDQ3NjRmMWI3NDQwZWUzMWJlNDE1NTgwMDQxYThlMTcxMzI4OGUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0KQEAgLTQyNDcsNyArNDI0Nyw5IEBAIC0gKHZvaWQpcmVxdWVzdEF1dG9jb3JyZWN0
aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoVUlXS0F1dG9jb3JyCiAg
ICAgX3BhZ2UtPnJlcXVlc3RBdXRvY29ycmVjdGlvbkNvbnRleHQoKTsKIAogICAgIGlmICh1c2VT
eW5jUmVxdWVzdCkgeworICAgICAgICBOU0xvZyhAIjxXSz46IFdhaXRpbmcgZm9yIGF1dG9jb3Jy
ZWN0aW9uIGNvbnRleHQuLi4iKTsKICAgICAgICAgX3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9u
KCktPndhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkhhbmRsZUF1dG9jb3JyZWN0aW9uQ29udGV4dD4oX3BhZ2UtPndlYlBhZ2VJRCgpLCAxX3MsIElQ
Qzo6V2FpdEZvck9wdGlvbjo6RGlzcGF0Y2hJbmNvbWluZ1N5bmNNZXNzYWdlc1doaWxlV2FpdGlu
Zyk7CisgICAgICAgIE5TTG9nKEAiPFdLPjogLi4uZG9uZSB3YWl0aW5nISIpOwogICAgICAgICBb
c2VsZiBfY2FuY2VsUGVuZGluZ0F1dG9jb3JyZWN0aW9uQ29udGV4dEhhbmRsZXJdOwogICAgIH0K
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
Yzc4OTc3YTg5ZDNiYWM2MzE5ZjJlNGE0ZGVkYmE1MTY3Njc4NzJmMS4uNDQ3OTYzN2YzNjY5NzNi
Y2M5Y2FkZTM5MDhmYzY1MGNlZjZjMDhmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU5MDcsNiArNTkwNyw5IEBAIHZvaWQgV2ViUGFnZTo6
ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSogZnJhbWUpCiAgICAgaWYgKCFmcmFtZS0+aXNNYWluRnJh
bWUoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUt
PmNvcmVGcmFtZSgpLT5kb2N1bWVudCgpKQorICAgICAgICBvc19sb2coT1NfTE9HX0RFRkFVTFQs
ICI8V0s+OiBDb21taXR0ZWQgbG9hZDogPCVzPiIsIGRvY3VtZW50LT51cmwoKS5wYXRoKCkudG9T
dHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKwogICAgIGlmIChtX2RyYXdpbmdBcmVhKQogICAgICAg
ICBtX2RyYXdpbmdBcmVhLT5zZW5kRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZUlmTmVl
ZGVkKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA3YmQ1NjNkZjhhZWEyZmU5NTc0N2U5OGZhZmM5MDNmZjQzMTAyMjU5
Li4zMTMwMTc4ZTcyM2ExYjE4MmU4M2ViNzc2MmU1YTRkNWVmNzMwN2JiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjE0IEBACisyMDIwLTA1LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNl
IF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMu
aHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlh
bCBydW4uCisKKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTguaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbDog
QWRkZWQuCisKIDIwMjAtMDUtMjcgIEphc29uIExhd3JlbmNlICA8bGF3cmVuY2UuakBhcHBsZS5j
b20+CiAKICAgICAgICAgWyBDYXRhbGluYSB3azIgXSB3ZWJydGMvdmlkZW8tYXV0b3BsYXkxLmh0
bWwgaXMgZmxha3kgZmFpbGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTguaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODguaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTE0YWFl
MTM5NjgzNmRlZGQ5NTk4ZGJlMjA3ZTMwM2JjNWJkMTc3Ny4uNzcyMzUyMmYzMzU5ZGUzNWEwNjZk
YzE1OTUzZjFhNjdjMWFhM2Y5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC05Miw1ICs5MiwzIEBAIHdl
YmtpdC5vcmcvYi8yMDgwMzYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQta2V5cy5o
dHRwcy5hbnkud29ya2VyLmh0bWwKIHdlYmtpdC5vcmcvYi8yMDkyMzQgWyBSZWxlYXNlIF0gcGxh
dGZvcm0vaW9zL2lvcy9wbHVnaW4veW91dHViZS1mbGFzaC1wbHVnaW4taWZyYW1lLW5vLWhlaWdo
dC1vci13aWR0aC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIwNzQ5NiBo
dHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KLQotd2Via2l0Lm9yZy9iLzIxMjI4MSBbIFJlbGVhc2UgXSBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400354</attachid>
            <date>2020-05-27 11:19:56 -0700</date>
            <delta_ts>2020-05-27 15:01:42 -0700</delta_ts>
            <desc>Repro attempt #8 (and force EWS to fail)</desc>
            <filename>bug-212281-20200527111955.patch</filename>
            <type>text/plain</type>
            <size>467766</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZmZTg4M2E2YTkwN2Zl
MzRhZWIwYTkyYzVlODY4NjRkY2QyMjFmNy4uZDBlZGQ0NzgyYjdkMDcxZjNiNzFmZWQxNzQ5ZTM1
MjRhZmYxZTg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI3ICBNaWd1ZWwgR29t
ZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gUkVHUkVTU0lPTihyMjUz
Njc1KSBDcmFzaCB3aGVuIHVzaW5nIHRocmVhZGVkIHJlbmRlcmluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzOTg5
NjAxNTJlNjdhMzM0YWMwNmNjZWNhNGZmM2M4MDY3MTQzNWI1Li5hZTUzN2ZiNzllYWQyYTY1NDE5
ZDM4YjZmZTI1NzZmYTA1ZjFhNjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1
LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT046IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWls
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIy
ODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmRpZENvbW1pdExvYWQpOgorCiAyMDIwLTA1LTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBbR1RLXSBNYWtlIHdl
YmtpdFdlYlZpZXdCYXNlU25hcHNob3Qgc3RhdGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcAppbmRleCA0ZGU2ZDQxNTE1NWE5
N2QwMmMxYmVhOTY4MDNkOWMyYjdmZTRhZmQ4Li4zZDc4OTc4MjBkZGE4ZTQwYzNiMjkwNDc3MzM4
MzEyMzQ3NjI3OGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNs
aXBib2FyZC9DbGlwYm9hcmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMt
Y2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKQEAgLTE0OCw2ICsxNDgsMTAgQEAgdm9pZCBDbGlwYm9h
cmQ6OndyaXRlVGV4dChjb25zdCBTdHJpbmcmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKICAgICBwcm9taXNlLT5yZXNvbHZlKCk7CiB9CiAKKyNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKK3RoaXMganVzdCBoZXJlIHRvIG1ha2UgRVdTIGZhaWwgZWFybHkgb24gbm9uLWlP
UyBib3RzIDpQCisjZW5kaWYKKwogdm9pZCBDbGlwYm9hcmQ6OnJlYWQoUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQogewogICAgIGF1dG8gcmVqZWN0UHJvbWlzZUFuZENsZWFyQWN0aXZl
U2Vzc2lvbiA9IFsmXSB7CkBAIC0xNTcsNiArMTYxLDcgQEAgdm9pZCBDbGlwYm9hcmQ6OnJlYWQo
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogCiAgICAgYXV0byBmcmFtZSA9IG1ha2VS
ZWZQdHIodGhpcy0+ZnJhbWUoKSk7CiAgICAgaWYgKCFmcmFtZSkgeworICAgICAgICBvc19sb2co
T1NfTE9HX0RFRkFVTFQsICI8V0s+OiBNaXNzaW5nIGZyYW1lPyIpOwogICAgICAgICByZWplY3RQ
cm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNzaW9uKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC0xNjQsMTEgKzE2OSwxNCBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCiAgICAgYXV0byBwYXN0ZWJvYXJkID0gUGFzdGVib2FyZDo6Y3JlYXRl
Rm9yQ29weUFuZFBhc3RlKCk7CiAgICAgYXV0byBjaGFuZ2VDb3VudEF0U3RhcnQgPSBwYXN0ZWJv
YXJkLT5jaGFuZ2VDb3VudCgpOwogCisgICAgb3NfbG9nKE9TX0xPR19ERUZBVUxULCAiPFdLPjog
UmVxdWVzdGluZyBET00gcGFzdGUgYWNjZXNzLi4uIik7CiAgICAgaWYgKCFmcmFtZS0+cmVxdWVz
dERPTVBhc3RlQWNjZXNzKCkpIHsKKyAgICAgICAgb3NfbG9nKE9TX0xPR19ERUZBVUxULCAiPFdL
PjogLi4uZmFpbGVkLiIpOwogICAgICAgICByZWplY3RQcm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNz
aW9uKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBvc19sb2coT1NfTE9HX0RFRkFV
TFQsICI8V0s+OiAuLi5wYXNzZWQuIik7CiAgICAgaWYgKCFtX2FjdGl2ZVNlc3Npb24gfHwgbV9h
Y3RpdmVTZXNzaW9uLT5jaGFuZ2VDb3VudCAhPSBjaGFuZ2VDb3VudEF0U3RhcnQpIHsKICAgICAg
ICAgYXV0byBhbGxJbmZvID0gcGFzdGVib2FyZC0+YWxsUGFzdGVib2FyZEl0ZW1JbmZvKCk7CiAg
ICAgICAgIGlmICghYWxsSW5mbykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rh
dGFUcmFuc2Zlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcAppbmRl
eCA4NDYzYTQ4ZTk3NGZiZTNmNzdmNjY5ZTUxNzgyNDc5Yjk0Y2IxMDk2Li45MjBjNzkxMWY0MmI3
NDdlNjMzNGNkNzIzODg3NGNmYjY2ZjUyYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRGF0YVRyYW5zZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVy
LmNwcApAQCAtNDMwLDEyICs0MzAsMTQgQEAgdm9pZCBEYXRhVHJhbnNmZXI6OmNvbW1pdFRvUGFz
dGVib2FyZChQYXN0ZWJvYXJkJiBuYXRpdmVQYXN0ZWJvYXJkKQogICAgICAgICAvLyB0aGF0IG1h
eSBoYXZlIGJlZW4gd3JpdHRlbiBiZWZvcmUgc3RhcnRpbmcgdGhlIGRyYWcgb3IgY29weWluZywg
YW5kIGFmdGVyIGVuZGluZyB0aGUgbGFzdAogICAgICAgICAvLyBkcmFnIHNlc3Npb24gb3IgcGFz
dGUuIEFmdGVyIHB1c2hpbmcgdGhlIHN0YXRpYyBwYXN0ZWJvYXJkJ3MgY29udGVudHMgdG8gdGhl
IHBsYXRmb3JtLCB0aGUKICAgICAgICAgLy8gcGFzdGVib2FyZCBzaG91bGQgb25seSBjb250YWlu
IGRhdGEgdGhhdCB3YXMgaW4gdGhlIHN0YXRpYyBwYXN0ZWJvYXJkLgorICAgICAgICBvc19sb2co
T1NfTE9HX0RFRkFVTFQsICI8V0s+OiBDbGVhcmluZyBuYXRpdmUgcGFzdGVib2FyZC4iKTsKICAg
ICAgICAgbmF0aXZlUGFzdGVib2FyZC5jbGVhcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9t
UGFzdGVib2FyZERhdGFFbmFibGVkKCkpIHsKICAgICAgICAgY3VzdG9tRGF0YS5zZXRPcmlnaW4o
bV9vcmlnaW5JZGVudGlmaWVyKTsKKyAgICAgICAgb3NfbG9nKE9TX0xPR19ERUZBVUxULCAiPFdL
PjogV3JpdGluZyBjdXN0b20gZGF0YS4iKTsKICAgICAgICAgbmF0aXZlUGFzdGVib2FyZC53cml0
ZUN1c3RvbURhdGEoeyBjdXN0b21EYXRhIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbQppbmRleCAwYTQwZGNm
MmViYjg2NDRmM2JlZjg0NWJmMTIxOGFiMmUyNWMzYzBlLi5mM2ZkZGEzMzZiZDc0ODliOTdmOWRl
N2IxOTY2Y2M0Y2QwZjhjOGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFz
dGVib2FyZElPUy5tbQpAQCAtNDY4LDYgKzQ2OCw3IEBAIHZvaWQgUGFzdGVib2FyZDo6Y2xlYXIo
Y29uc3QgU3RyaW5nJiB0eXBlKQogCiB2b2lkIFBhc3RlYm9hcmQ6OmNsZWFyKCkKIHsKKyAgICBO
U0xvZyhAIjxXSz46IENsZWFyaW5nIHBhc3RlYm9hcmQ/Iik7CiAgICAgcGxhdGZvcm1TdHJhdGVn
aWVzKCktPnBhc3RlYm9hcmRTdHJhdGVneSgpLT53cml0ZVRvUGFzdGVib2FyZChTdHJpbmcoKSwg
U3RyaW5nKCksIG1fcGFzdGVib2FyZE5hbWUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQppbmRleCBkMmYzMjIwMDQ3
ZjZmMzQzNTM1NmM5Nzg3NTEwMzhlNmI4YjBmMTlkLi44NzNkZWVhN2RmMWVjNDFmM2MzMmZkOTJi
OWMwODJlYTJlMzQ4MDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KQEAgLTYxNSw2ICs2MTUsNyBAQCBzdGF0aWMgUmV0
YWluUHRyPFdlYkl0ZW1Qcm92aWRlclJlZ2lzdHJhdGlvbkluZm9MaXN0PiBjcmVhdGVJdGVtUHJv
dmlkZXJSZWdpc3RyYQogCiBpbnQ2NF90IFBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUoY29uc3Qg
VmVjdG9yPFBhc3RlYm9hcmRDdXN0b21EYXRhPiYgaXRlbURhdGEpCiB7CisgICAgTlNMb2coQCI8
V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIGF1dG8gcmVnaXN0cmF0aW9uTGlz
dHMgPSBjcmVhdGVOU0FycmF5KGl0ZW1EYXRhLCBbXSAoYXV0byYgZGF0YSkgewogICAgICAgICBy
ZXR1cm4gY3JlYXRlSXRlbVByb3ZpZGVyUmVnaXN0cmF0aW9uTGlzdChkYXRhKTsKICAgICB9KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQ
cm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2Fy
ZFByb3h5Q29jb2EubW0KaW5kZXggMTg3MGViYzQxNDFiNmJkOGRjMTcwNTEyNzFjNmUyNWJhZjhj
ZmVlZS4uOTRkNGZkMjZjNDI2MDY5OTA4ZjY1ZjhmZDg2NDExMjE2YTYxODZhYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5
Q29jb2EubW0KQEAgLTEzOCw2ICsxMzgsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6ZGlk
TW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aQogCiB2
b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFR5cGVzKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAg
ICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5B
Y2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIApAQCAtMTQ5LDYgKzE1MCw3IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBjb25zdCBTCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVi
b2FyZFBhdGhuYW1lc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLAogICAg
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJiBwYXRobmFtZXMsIFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZUFycmF5JiYgc2FuZGJveEV4dGVuc2lvbnMpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9f
KTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHko
KSwgY29tcGxldGlvbkhhbmRsZXIoeyB9LCB7IH0pKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIHNo
b3VsZCBjb25zdWx0IGNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKCkgaW5zdGVhZCwgYW5kIGF2b2lk
IHJlc3BvbmRpbmcgd2l0aCBmaWxlIHBhdGhzIGlmIGl0IHJldHVybnMgZmFsc2UuCkBAIC0xNzYs
NiArMTc4LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRQYXRobmFt
ZXNGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGkKIAogdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OmdldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwog
ICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBj
b21wbGV0aW9uSGFuZGxlcih7IH0pKTsKIAogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERh
dGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtMTg2LDYgKzE4OSw3IEBAIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZShJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJv
YXJkU3RyaW5nc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
eworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNT
QUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29tcGxldGlv
bkhhbmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5l
Y3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTE5Niw2ICsyMDAsNyBAQCB2b2lkIFdlYlBhc3Rl
Ym9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFN0cmluZ3NGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZEJ1ZmZl
ckZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFNoYXJlZE1lbW9yeTo6SGFuZGxlJiYsIHVpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKKyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAg
ICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNv
bXBsZXRpb25IYW5kbGVyKHsgfSwgMCkpOwogCiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJk
RGF0YShjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCkBAIC0yMTgsMTEgKzIyMywxMyBAQCB2
b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGUoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLAogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFz
dGVib2FyZENoYW5nZUNvdW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoaW50NjRfdCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgTlNM
b2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIGNvbXBsZXRpb25IYW5k
bGVyKFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKSk7CiB9
CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkQ29sb3IoSVBDOjpDb25u
ZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkNvbG9yJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
eworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAo
IWNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAg
ICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiAKQEAgLTIzMSw2ICsyMzgsNyBA
QCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZENvbG9yKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0
UGFzdGVib2FyZFVSTChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3RyaW5nJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwg
cGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsK
IApAQCAtMjM5LDYgKzI0Nyw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJv
YXJkVVJMKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyCiAKIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5OjphZGRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgcGFzdGVib2FyZFR5cGVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3QpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmROYW1lLmlz
RW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgZm9yIChhdXRvJiB0eXBlIDog
cGFzdGVib2FyZFR5cGVzKQpAQCAtMjUyLDYgKzI2MSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFBy
b3h5OjphZGRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25z
dCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMi
LCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBh
c3RlYm9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgZm9y
IChhdXRvJiB0eXBlIDogcGFzdGVib2FyZFR5cGVzKQpAQCAtMjY1LDYgKzI3NSw3IEBAIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJv
YXJkVVJMKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUGFzdGVib2FyZFVSTCYg
cGFzdGVib2FyZFVSTCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBOU0xvZyhA
IjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01Q
TEVUSU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsK
IAogICAgIGlmIChhdXRvKiB3ZWJQcm9jZXNzUHJveHkgPSB3ZWJQcm9jZXNzUHJveHlGb3JDb25u
ZWN0aW9uKGNvbm5lY3Rpb24pKSB7CkBAIC0yODEsNiArMjkyLDcgQEAgdm9pZCBXZWJQYXN0ZWJv
YXJkUHJveHk6OnNldFBhc3RlYm9hcmRVUkwoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBj
b25zdCBQYXMKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9hcmRDb2xvcihJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xvciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2
NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19Q
UkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJv
YXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsKIAogICAgIGF1dG8gcHJl
dmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hh
bmdlQ291bnQoKTsKQEAgLTI5MSw2ICszMDMsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
c2V0UGFzdGVib2FyZENvbG9yKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUwog
CiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0UGFzdGVib2FyZFN0cmluZ0ZvclR5cGUoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHN0cmluZywgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBO
U0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVD
S19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVy
KDApKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1w
dHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCkBAIC0zMjAsNiArMzMzLDcgQEAgdm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OnVybFN0cmluZ1N1aXRhYmxlRm9yTG9hZGluZyhJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24KIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9h
cmRCdWZmZXJGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU2hh
cmVkTWVtb3J5OjpIYW5kbGUmIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBOU0xvZyhAIjxX
Sz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVU
SU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsKICAg
ICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29t
cGxldGlvbkhhbmRsZXIoMCkpOwogCkBAIC0zNDQsNiArMzU4LDcgQEAgdm9pZCBXZWJQYXN0ZWJv
YXJkUHJveHk6OnNldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29u
bmVjdGlvbiwKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldE51bWJlck9mRmlsZXMoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHVpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
KyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFj
YW5BY2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAg
ICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoMCk7CiAKQEAgLTM1Miw2ICszNjcsNyBAQCB2
b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0TnVtYmVyT2ZGaWxlcyhJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIGNvbnN0IFN0cgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6dHlwZXNT
YWZlRm9yRE9NVG9SZWFkQW5kV3JpdGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
KyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FH
RV9DSEVDS19DT01QTEVUSU9OKCFvcmlnaW4uaXNOdWxsKCksIGNvbXBsZXRpb25IYW5kbGVyKHsg
fSkpOwogCiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFz
dGVib2FyZE5hbWUpKQpAQCAtMzYyLDYgKzM3OCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
Ojp0eXBlc1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUN1c3RvbURhdGEoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBjb25zdCBWZWN0b3I8UGFzdGVib2FyZEN1c3RvbURhdGE+JiBkYXRh
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGlu
dDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBf
X1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3Rl
Ym9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgYXV0byBw
cmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5j
aGFuZ2VDb3VudCgpOwpAQCAtMzcyLDYgKzM4OSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
Ojp3cml0ZUN1c3RvbURhdGEoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBWZWN0
CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjphbGxQYXN0ZWJvYXJkSXRlbUluZm8oSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2
NF90IGNoYW5nZUNvdW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFZlY3RvcjxQ
YXN0ZWJvYXJkSXRlbUluZm8+PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBOU0xv
ZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5BY2Nlc3NQ
YXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1
cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIApAQCAtMzgwLDYgKzM5OCw3IEBAIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5OjphbGxQYXN0ZWJvYXJkSXRlbUluZm8oSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjppbmZvcm1hdGlvbkZv
ckl0ZW1BdEluZGV4KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZV90IGluZGV4LCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4mJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9O
X18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZFR5cGVzKGNvbm5lY3Rpb24sIHBhc3Rl
Ym9hcmROYW1lKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKFdURjo6bnVsbG9w
dCk7CiAKQEAgLTM4OCw2ICs0MDcsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6aW5mb3Jt
YXRpb25Gb3JJdGVtQXRJbmRleChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sCiAKIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQodWludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9n
KEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAoIWNhbkFjY2Vzc1Bh
c3RlYm9hcmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCiAgICAgICAgIHJldHVy
biBjb21wbGV0aW9uSGFuZGxlcigwKTsKIApAQCAtMzk2LDYgKzQxNiw3IEBAIHZvaWQgV2ViUGFz
dGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIGNvCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZWFkU3RyaW5nRnJvbVBh
c3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewor
ICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdF
X0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29tcGxldGlvbkhh
bmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rp
b24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTQwNiw2ICs0MjcsNyBAQCB2b2lkIFdlYlBhc3RlYm9h
cmRQcm94eTo6cmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgcwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZFVSTEZyb21QYXN0ZWJvYXJk
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyYmIHVybCwgU3Ry
aW5nJiYgdGl0bGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIE5TTG9nKEAiPFdLPjog
JXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmRE
YXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRp
b25IYW5kbGVyKHsgfSwgeyB9KTsKIApAQCAtNDE2LDYgKzQzOCw3IEBAIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5OjpyZWFkVVJMRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBzaXplCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZWFkQnVmZmVyRnJvbVBhc3Rl
Ym9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpIYW5kbGUmJiwgdWludDY0X3Qgc2l6ZSk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgTlNMb2coQCI8V0s+OiAlcyIsIF9fUFJFVFRZ
X0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5
cGUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcih7IH0sIDApKTsKIAogICAgIGlmICghY2Fu
QWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtNDQ4
LDYgKzQ3MSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojpjb250YWluc1N0cmluZ1NhZmVG
b3JET01Ub1JlYWRGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYKIAogdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OndyaXRlVVJMVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
Y29uc3QgUGFzdGVib2FyZFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQog
eworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNT
QUdFX0NIRUNLKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCkpOwogCiAgICAgYXV0byBwcmV2aW91
c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VD
b3VudCgpOwpAQCAtNDU3LDYgKzQ4MSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0
ZVVSTFRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0CiAKIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkV2ViQ29udGVu
dCYgY29udGVudCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKIHsKKyAgICBOU0xvZyhA
IjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDSyghcGFz
dGVib2FyZE5hbWUuaXNFbXB0eSgpKTsKIAogICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9
IFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKQEAgLTQ2
Niw2ICs0OTEsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVXZWJDb250ZW50VG9Q
YXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9h
cmRQcm94eTo6d3JpdGVJbWFnZVRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24sIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFnZSYgcGFzdGVib2FyZEltYWdlLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogeworICAgIE5TTG9nKEAiPFdLPjogJXMiLCBfX1BS
RVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkTmFtZS5pc0Vt
cHR5KCkpOwogCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJv
YXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwpAQCAtNDc1LDYgKzUwMSw3IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgY29uCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVN0
cmluZ1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSkKIHsKKyAgICBOU0xvZyhAIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05f
Xyk7CiAgICAgTUVTU0FHRV9DSEVDSyghcGFzdGVib2FyZE5hbWUuaXNFbXB0eSgpKTsKICAgICBN
RVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCkgfHwgdGV4dC5pc0VtcHR5KCkp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQppbmRleCAzMTYwNmE5NTg3ZjUxYjBiM2FlYWFiZjU2YmMzNTk2YzJk
ODQwM2YzLi4zMDQ3NjRmMWI3NDQwZWUzMWJlNDE1NTgwMDQxYThlMTcxMzI4OGUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0KQEAgLTQyNDcsNyArNDI0Nyw5IEBAIC0gKHZvaWQpcmVxdWVzdEF1dG9jb3JyZWN0
aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoVUlXS0F1dG9jb3JyCiAg
ICAgX3BhZ2UtPnJlcXVlc3RBdXRvY29ycmVjdGlvbkNvbnRleHQoKTsKIAogICAgIGlmICh1c2VT
eW5jUmVxdWVzdCkgeworICAgICAgICBOU0xvZyhAIjxXSz46IFdhaXRpbmcgZm9yIGF1dG9jb3Jy
ZWN0aW9uIGNvbnRleHQuLi4iKTsKICAgICAgICAgX3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9u
KCktPndhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkhhbmRsZUF1dG9jb3JyZWN0aW9uQ29udGV4dD4oX3BhZ2UtPndlYlBhZ2VJRCgpLCAxX3MsIElQ
Qzo6V2FpdEZvck9wdGlvbjo6RGlzcGF0Y2hJbmNvbWluZ1N5bmNNZXNzYWdlc1doaWxlV2FpdGlu
Zyk7CisgICAgICAgIE5TTG9nKEAiPFdLPjogLi4uZG9uZSB3YWl0aW5nISIpOwogICAgICAgICBb
c2VsZiBfY2FuY2VsUGVuZGluZ0F1dG9jb3JyZWN0aW9uQ29udGV4dEhhbmRsZXJdOwogICAgIH0K
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
Yzc4OTc3YTg5ZDNiYWM2MzE5ZjJlNGE0ZGVkYmE1MTY3Njc4NzJmMS4uNDQ3OTYzN2YzNjY5NzNi
Y2M5Y2FkZTM5MDhmYzY1MGNlZjZjMDhmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU5MDcsNiArNTkwNyw5IEBAIHZvaWQgV2ViUGFnZTo6
ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSogZnJhbWUpCiAgICAgaWYgKCFmcmFtZS0+aXNNYWluRnJh
bWUoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUt
PmNvcmVGcmFtZSgpLT5kb2N1bWVudCgpKQorICAgICAgICBvc19sb2coT1NfTE9HX0RFRkFVTFQs
ICI8V0s+OiBDb21taXR0ZWQgbG9hZDogPCVzPiIsIGRvY3VtZW50LT51cmwoKS5wYXRoKCkudG9T
dHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKwogICAgIGlmIChtX2RyYXdpbmdBcmVhKQogICAgICAg
ICBtX2RyYXdpbmdBcmVhLT5zZW5kRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZUlmTmVl
ZGVkKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA3YmQ1NjNkZjhhZWEyZmU5NTc0N2U5OGZhZmM5MDNmZjQzMTAyMjU5
Li4zMTMwMTc4ZTcyM2ExYjE4MmU4M2ViNzc2MmU1YTRkNWVmNzMwN2JiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjE0IEBACisyMDIwLTA1LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNl
IF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMu
aHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlh
bCBydW4uCisKKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTguaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbDog
QWRkZWQuCisKIDIwMjAtMDUtMjcgIEphc29uIExhd3JlbmNlICA8bGF3cmVuY2UuakBhcHBsZS5j
b20+CiAKICAgICAgICAgWyBDYXRhbGluYSB3azIgXSB3ZWJydGMvdmlkZW8tYXV0b3BsYXkxLmh0
bWwgaXMgZmxha3kgZmFpbGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTguaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODguaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdGhpcy10ZXN0LXdpbGwtZmFpbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdGhpcy10ZXN0LXdpbGwtZmFpbC1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY0OTNiNjdiYTlhMzdiN2I5M2RkMWUzZjI2MzIxZGEzZWU2M2RkZmYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90aGlzLXRlc3Qtd2lsbC1mYWlsLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwyIEBACithc2RmCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3RoaXMtdGVzdC13aWxsLWZhaWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RoaXMtdGVzdC13aWxsLWZhaWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzUxOGYwZDA5YTRh
ZTUyOTQ4YmI4MWRhNDZkYWFjODNmMzBlMjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdGhpcy10ZXN0LXdpbGwtZmFpbC5odG1sCkBAIC0wLDAgKzEgQEAKK2Zv
cmNlIEVXUyB0byBmYWlsIHNvIEkgY2FuIHNlZSBmbGFreSB0ZXN0IHJlc3VsdHMsIGJ5IGFkZGlu
ZyB0aGlzIGJvZ3VzIHRlc3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
c2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1MTRhYWUxMzk2ODM2ZGVkZDk1
OThkYmUyMDdlMzAzYmM1YmQxNzc3Li43NzIzNTIyZjMzNTlkZTM1YTA2NmRjMTU5NTNmMWE2N2Mx
YWEzZjk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0
b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTkyLDUgKzkyLDMgQEAgd2Via2l0Lm9yZy9iLzIw
ODAzNiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS53b3Jr
ZXIuaHRtbAogd2Via2l0Lm9yZy9iLzIwOTIzNCBbIFJlbGVhc2UgXSBwbGF0Zm9ybS9pb3MvaW9z
L3BsdWdpbi95b3V0dWJlLWZsYXNoLXBsdWdpbi1pZnJhbWUtbm8taGVpZ2h0LW9yLXdpZHRoLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjA3NDk2IGh0dHAvd3B0L2NhY2hl
LXN0b3JhZ2UvY2FjaGUtcHV0LWtleXMuaHR0cHMuYW55Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQot
Ci13ZWJraXQub3JnL2IvMjEyMjgxIFsgUmVsZWFzZSBdIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400385</attachid>
            <date>2020-05-27 15:00:54 -0700</date>
            <delta_ts>2020-05-28 11:19:18 -0700</delta_ts>
            <desc>Repro attempt #9</desc>
            <filename>bug-212281-20200527150053.patch</filename>
            <type>text/plain</type>
            <size>467984</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE2NWU2YzVjZjBkYTQx
NWEzN2ZiOGY3NjU4MTlmNTNiNjA1NDA4Zi4uOTZiNmFlMzdhMjEzMzQ0MWMyNTRiZWFlNDZkNTgy
NGFlNDlmMjY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI3ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtDbGlwYm9hcmQgQVBJXSBT
dXBwb3J0IHJlYWRpbmcgImltYWdlL3BuZyIgb24gQ2xpcGJvYXJkSXRlbQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBi
ZjVhYjI1NGI1ZDE3MDQ3ODgwMmI1MjM5OTQ1ODk1NmVhM2YwNDUwLi45Y2UyODVlOGZiNjcxYmRk
ODczYzZkZDFiZDJkN2YzOWQ5YTNjYWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIw
LTA1LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBm
YWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmRpZENvbW1pdExvYWQpOgorCiAyMDIwLTA1LTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI2MDg0
MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0Ns
aXBib2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlw
Ym9hcmQuY3BwCmluZGV4IDhlYTE3ZWIzZThkZjQ0ZmNhMzFhZjAzYzBiMzQwMmQ2YzcyMmM0OTEu
LjViODViMjE3YTA1NGM0NjljNzU3ODU2NWI5MzVmMDBhYWE1ODQ0MjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApAQCAt
MTQ5LDYgKzE0OSwxMCBAQCB2b2lkIENsaXBib2FyZDo6d3JpdGVUZXh0KGNvbnN0IFN0cmluZyYg
ZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIHByb21pc2UtPnJlc29s
dmUoKTsKIH0KIAorI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQordGhpcyBqdXN0IGhlcmUgdG8g
bWFrZSBFV1MgZmFpbCBlYXJseSBvbiBub24taU9TIGJvdHMgOlAKKyNlbmRpZgorCiB2b2lkIENs
aXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAgYXV0
byByZWplY3RQcm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNzaW9uID0gWyZdIHsKQEAgLTE1OCw2ICsx
NjIsNyBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21p
c2UpCiAKICAgICBhdXRvIGZyYW1lID0gbWFrZVJlZlB0cih0aGlzLT5mcmFtZSgpKTsKICAgICBp
ZiAoIWZyYW1lKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogTWlzc2luZyBmcmFtZT8i
KTsKICAgICAgICAgcmVqZWN0UHJvbWlzZUFuZENsZWFyQWN0aXZlU2Vzc2lvbigpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtMTY1LDExICsxNzAsMTQgQEAgdm9pZCBDbGlwYm9hcmQ6OnJl
YWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGF1dG8gcGFzdGVib2FyZCA9
IFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpOwogICAgIGF1dG8gY2hhbmdlQ291
bnRBdFN0YXJ0ID0gcGFzdGVib2FyZC0+Y2hhbmdlQ291bnQoKTsKIAorICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogUmVxdWVzdGluZyBET00gcGFzdGUgYWNjZXNzLi4uIik7CiAgICAgaWYgKCFmcmFt
ZS0+cmVxdWVzdERPTVBhc3RlQWNjZXNzKCkpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiAuLi5mYWlsZWQuIik7CiAgICAgICAgIHJlamVjdFByb21pc2VBbmRDbGVhckFjdGl2ZVNlc3Np
b24oKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
Li4ucGFzc2VkLiIpOwogICAgIGlmICghbV9hY3RpdmVTZXNzaW9uIHx8IG1fYWN0aXZlU2Vzc2lv
bi0+Y2hhbmdlQ291bnQgIT0gY2hhbmdlQ291bnRBdFN0YXJ0KSB7CiAgICAgICAgIGF1dG8gYWxs
SW5mbyA9IHBhc3RlYm9hcmQtPmFsbFBhc3RlYm9hcmRJdGVtSW5mbygpOwogICAgICAgICBpZiAo
IWFsbEluZm8pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKaW5kZXggODQ2M2E0OGU5
NzRmYmUzZjc3ZjY2OWU1MTc4MjQ3OWI5NGNiMTA5Ni4uMzRmZTU3NWU5NDQyNTUyMWJjMDY0MzRj
YTAxOTY4YTM5ZWYxMzRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFu
c2Zlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKQEAgLTQz
MCwxMiArNDMwLDE0IEBAIHZvaWQgRGF0YVRyYW5zZmVyOjpjb21taXRUb1Bhc3RlYm9hcmQoUGFz
dGVib2FyZCYgbmF0aXZlUGFzdGVib2FyZCkKICAgICAgICAgLy8gdGhhdCBtYXkgaGF2ZSBiZWVu
IHdyaXR0ZW4gYmVmb3JlIHN0YXJ0aW5nIHRoZSBkcmFnIG9yIGNvcHlpbmcsIGFuZCBhZnRlciBl
bmRpbmcgdGhlIGxhc3QKICAgICAgICAgLy8gZHJhZyBzZXNzaW9uIG9yIHBhc3RlLiBBZnRlciBw
dXNoaW5nIHRoZSBzdGF0aWMgcGFzdGVib2FyZCdzIGNvbnRlbnRzIHRvIHRoZSBwbGF0Zm9ybSwg
dGhlCiAgICAgICAgIC8vIHBhc3RlYm9hcmQgc2hvdWxkIG9ubHkgY29udGFpbiBkYXRhIHRoYXQg
d2FzIGluIHRoZSBzdGF0aWMgcGFzdGVib2FyZC4KKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiBDbGVhcmluZyBuYXRpdmUgcGFzdGVib2FyZC4iKTsKICAgICAgICAgbmF0aXZlUGFzdGVib2Fy
ZC5jbGVhcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVk
KCkpIHsKICAgICAgICAgY3VzdG9tRGF0YS5zZXRPcmlnaW4obV9vcmlnaW5JZGVudGlmaWVyKTsK
KyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBXcml0aW5nIGN1c3RvbSBkYXRhLiIpOwogICAg
ICAgICBuYXRpdmVQYXN0ZWJvYXJkLndyaXRlQ3VzdG9tRGF0YSh7IGN1c3RvbURhdGEgfSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvUGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0
ZWJvYXJkSU9TLm1tCmluZGV4IDBhNDBkY2YyZWJiODY0NGYzYmVmODQ1YmYxMjE4YWIyZTI1YzNj
MGUuLjBiNDAzMGFiZTg3MDQyYjVmYTYzN2Y1N2MwM2FlNGZkNDkwYWY0OTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCkBAIC00NjgsNiArNDY4LDcg
QEAgdm9pZCBQYXN0ZWJvYXJkOjpjbGVhcihjb25zdCBTdHJpbmcmIHR5cGUpCiAKIHZvaWQgUGFz
dGVib2FyZDo6Y2xlYXIoKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogQ2xlYXJpbmcgcGFz
dGVib2FyZD8iKTsKICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5
KCktPndyaXRlVG9QYXN0ZWJvYXJkKFN0cmluZygpLCBTdHJpbmcoKSwgbV9wYXN0ZWJvYXJkTmFt
ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9y
bVBhc3RlYm9hcmRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1Q
YXN0ZWJvYXJkSU9TLm1tCmluZGV4IGZkM2E4NWFlMGFiNjBmOTQ5YTI2YmYyZDhjMDI3YTdmOTU1
N2E3ZWUuLmQxZTUzZTRlZDc3YmRkOWRiYTZkZGNjZWYwNjZiM2ExNTA3ZmVlMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5t
bQpAQCAtNjI4LDYgKzYyOCw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8V2ViSXRlbVByb3ZpZGVyUmVn
aXN0cmF0aW9uSW5mb0xpc3Q+IGNyZWF0ZUl0ZW1Qcm92aWRlclJlZ2lzdHJhCiAKIGludDY0X3Qg
UGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBWZWN0b3I8UGFzdGVib2FyZEN1c3RvbURh
dGE+JiBpdGVtRGF0YSkKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlf
RlVOQ1RJT05fXyk7CiAgICAgYXV0byByZWdpc3RyYXRpb25MaXN0cyA9IGNyZWF0ZU5TQXJyYXko
aXRlbURhdGEsIFtdIChhdXRvJiBkYXRhKSB7CiAgICAgICAgIHJldHVybiBjcmVhdGVJdGVtUHJv
dmlkZXJSZWdpc3RyYXRpb25MaXN0KGRhdGEpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQppbmRl
eCAxODcwZWJjNDE0MWI2YmQ4ZGMxNzA1MTI3MWM2ZTI1YmFmOGNmZWVlLi43OGNkYzY5ODdmNDJh
YTk0ZWExMjNmOWU1NDAzMzNjNDIwNTQ2YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQpAQCAtMTM4LDYg
KzEzOCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpkaWRNb2RpZnlDb250ZW50c09mUGFz
dGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3RpCiAKIHZvaWQgV2ViUGFzdGVib2FyZFBy
b3h5OjpnZXRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxT
dHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdL
PjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9h
cmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCiAgICAgICAgIHJldHVybiBjb21w
bGV0aW9uSGFuZGxlcih7IH0pOwogCkBAIC0xNDksNiArMTUwLDcgQEAgdm9pZCBXZWJQYXN0ZWJv
YXJkUHJveHk6OmdldFBhc3RlYm9hcmRUeXBlcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IGNvbnN0IFMKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkUGF0aG5hbWVz
Rm9yVHlwZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsCiAgICAgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmIHBhdGhuYW1lcywgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlQXJyYXkmJiBzYW5kYm94RXh0ZW5zaW9ucyk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAg
IE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBjb21w
bGV0aW9uSGFuZGxlcih7IH0sIHsgfSkpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGNv
bnN1bHQgY2FuQWNjZXNzUGFzdGVib2FyZERhdGEoKSBpbnN0ZWFkLCBhbmQgYXZvaWQgcmVzcG9u
ZGluZyB3aXRoIGZpbGUgcGF0aHMgaWYgaXQgcmV0dXJucyBmYWxzZS4KQEAgLTE3Niw2ICsxNzgs
NyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFBhdGhuYW1lc0ZvclR5
cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aQogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
Z2V0UGFzdGVib2FyZFN0cmluZ0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAg
ICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNv
bXBsZXRpb25IYW5kbGVyKHsgfSkpOwogCiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkRGF0
YShjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCkBAIC0xODYsNiArMTg5LDcgQEAgdm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9h
cmRTdHJpbmdzRm9yVHlwZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAg
IE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBjb21w
bGV0aW9uSGFuZGxlcih7IH0pKTsKIAogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEo
Y29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtMTk2LDYgKzIwMCw3IEBAIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkU3RyaW5nc0ZvclR5cGUoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJk
QnVmZmVyRm9yVHlwZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5OjpIYW5kbGUmJiwgdWludDY0X3QpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlz
RW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoeyB9LCAwKSk7CiAKICAgICBpZiAoIWNhbkFjY2Vz
c1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTIxOCwxMSAr
MjIzLDE0IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkQnVmZmVyRm9y
VHlwZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sCiAKIHZvaWQgV2ViUGFzdGVib2FyZFBy
b3h5OjpnZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKLSAgICBjb21wbGV0aW9uSGFuZGxlcihQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5h
bWUpLmNoYW5nZUNvdW50KCkpOworICAgIGF1dG8gY2hhbmdlQ291bnQgPSBQbGF0Zm9ybVBhc3Rl
Ym9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50KCk7CisgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAlcyA9PiAlbGxkIiwgX19QUkVUVFlfRlVOQ1RJT05fXywgY2hhbmdlQ291bnQpOworICAg
IGNvbXBsZXRpb25IYW5kbGVyKGNoYW5nZUNvdW50KTsKIH0KIAogdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OmdldFBhc3RlYm9hcmRDb2xvcihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29y
ZTo6Q29sb3ImJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVi
b2FyZERhdGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1cm4gY29t
cGxldGlvbkhhbmRsZXIoeyB9KTsKIApAQCAtMjMxLDYgKzIzOSw3IEBAIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkQ29sb3IoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
LCBjb25zdCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkVVJMKElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBTdHJpbmcmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7
CiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkRGF0YShjb25uZWN0aW9uLCBwYXN0ZWJvYXJk
TmFtZSkpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwogCkBAIC0yMzks
NiArMjQ4LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRVUkwoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHIKIAogdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OmFkZFBhc3RlYm9hcmRUeXBlcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXN0ZWJv
YXJkVHlwZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoaW50NjRfdCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9O
X18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZE5hbWUuaXNFbXB0
eSgpLCBjb21wbGV0aW9uSGFuZGxlcigwKSk7CiAKICAgICBmb3IgKGF1dG8mIHR5cGUgOiBwYXN0
ZWJvYXJkVHlwZXMpCkBAIC0yNTIsNiArMjYyLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6
OmFkZFBhc3RlYm9hcmRUeXBlcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFMK
IAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9hcmRUeXBlcyhJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBwYXN0ZWJvYXJkVHlwZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoaW50
NjRfdCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAl
cyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTigh
cGFzdGVib2FyZE5hbWUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcigwKSk7CiAKICAgICBm
b3IgKGF1dG8mIHR5cGUgOiBwYXN0ZWJvYXJkVHlwZXMpCkBAIC0yNjUsNiArMjc2LDcgQEAgdm9p
ZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9hcmRUeXBlcyhJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIGNvbnN0IFMKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3Rl
Ym9hcmRVUkwoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBQYXN0ZWJvYXJkVVJM
JiBwYXN0ZWJvYXJkVVJMLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxv
Z0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NI
RUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRs
ZXIoMCkpOwogCiAgICAgaWYgKGF1dG8qIHdlYlByb2Nlc3NQcm94eSA9IHdlYlByb2Nlc3NQcm94
eUZvckNvbm5lY3Rpb24oY29ubmVjdGlvbikpIHsKQEAgLTI4MSw2ICsyOTMsNyBAQCB2b2lkIFdl
YlBhc3RlYm9hcmRQcm94eTo6c2V0UGFzdGVib2FyZFVSTChJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIGNvbnN0IFBhcwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0UGFzdGVib2Fy
ZENvbG9yKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygi
PFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBM
RVRJT04oIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwog
CiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3Rl
Ym9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwpAQCAtMjkxLDYgKzMwNCw3IEBAIHZvaWQgV2ViUGFz
dGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkQ29sb3IoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBjb25zdCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkU3Ry
aW5nRm9yVHlwZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9f
KTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmROYW1lLmlzRW1wdHko
KSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTigh
cGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcigwKSk7CiAKQEAgLTMy
MCw2ICszMzQsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6dXJsU3RyaW5nU3VpdGFibGVG
b3JMb2FkaW5nKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9h
cmRQcm94eTo6c2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmRUeXBlLCBjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYgaGFuZGxlLCB1aW50NjRfdCBz
aXplLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsK
ICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSwg
Y29tcGxldGlvbkhhbmRsZXIoMCkpOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFz
dGVib2FyZFR5cGUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcigwKSk7CiAKQEAgLTM0NCw2
ICszNTksNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0UGFzdGVib2FyZEJ1ZmZlckZv
clR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLAogCiB2b2lkIFdlYlBhc3RlYm9hcmRQ
cm94eTo6Z2V0TnVtYmVyT2ZGaWxlcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3Qp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBf
X1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmRUeXBlcyhj
b25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcigwKTsKIApAQCAtMzUyLDYgKzM2OCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojpn
ZXROdW1iZXJPZkZpbGVzKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyCiAK
IHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp0eXBlc1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZShJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IGNvbnN0IFN0cmluZyYgb3JpZ2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJp
bmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
JXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04o
IW9yaWdpbi5pc051bGwoKSwgY29tcGxldGlvbkhhbmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNh
bkFjY2Vzc1Bhc3RlYm9hcmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCkBAIC0z
NjIsNiArMzc5LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnR5cGVzU2FmZUZvckRPTVRv
UmVhZEFuZFdyaXRlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGkKIAogdm9pZCBXZWJQYXN0ZWJv
YXJkUHJveHk6OndyaXRlQ3VzdG9tRGF0YShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNv
bnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4mIGRhdGEsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoaW50NjRfdCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNU
SU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZE5hbWUuaXNF
bXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcigwKSk7CiAKICAgICBhdXRvIHByZXZpb3VzQ2hhbmdl
Q291bnQgPSBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50KCk7
CkBAIC0zNzIsNiArMzkwLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlQ3VzdG9t
RGF0YShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFZlY3QKIAogdm9pZCBXZWJQ
YXN0ZWJvYXJkUHJveHk6OmFsbFBhc3RlYm9hcmRJdGVtSW5mbyhJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291
bnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8VmVjdG9yPFBhc3RlYm9hcmRJdGVt
SW5mbz4+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdL
PjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9h
cmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCiAgICAgICAgIHJldHVybiBjb21w
bGV0aW9uSGFuZGxlcih7IH0pOwogCkBAIC0zODAsNiArMzk5LDcgQEAgdm9pZCBXZWJQYXN0ZWJv
YXJkUHJveHk6OmFsbFBhc3RlYm9hcmRJdGVtSW5mbyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24sIGNvbnMKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmluZm9ybWF0aW9uRm9ySXRlbUF0
SW5kZXgoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoT3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiYmKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05f
Xyk7CiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVi
b2FyZE5hbWUpKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoV1RGOjpudWxsb3B0
KTsKIApAQCAtMzg4LDYgKzQwOCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjppbmZvcm1h
dGlvbkZvckl0ZW1BdEluZGV4KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwKIAogdm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRJdGVtc0NvdW50KElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCh1aW50NjRfdCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9n
QWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIGlmICghY2FuQWNj
ZXNzUGFzdGVib2FyZFR5cGVzKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAgICAgICAg
cmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKDApOwogCkBAIC0zOTYsNiArNDE3LDcgQEAgdm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRJdGVtc0NvdW50KElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY28KIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRTdHJpbmdG
cm9tUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIHNpemVfdCBpbmRleCwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwog
ICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBj
b21wbGV0aW9uSGFuZGxlcih7IH0pKTsKIAogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERh
dGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtNDA2LDYgKzQyOCw3IEBAIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpyZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBzCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZWFkVVJMRnJv
bVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5n
JiYgdXJsLCBTdHJpbmcmJiB0aXRsZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RG
TG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIGlmICghY2Fu
QWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9LCB7IH0pOwogCkBAIC00MTYsNiArNDM5LDcg
QEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRVUkxGcm9tUGFzdGVib2FyZChJUEM6OkNv
bm5lY3Rpb24mIGNvbm5lY3Rpb24sIHNpemUKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJl
YWRCdWZmZXJGcm9tUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIHNpemVf
dCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTaGFyZWRNZW1vcnk6OkhhbmRsZSYm
LCB1aW50NjRfdCBzaXplKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19D
T01QTEVUSU9OKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKHsg
fSwgMCkpOwogCiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkRGF0YShjb25uZWN0aW9uLCBw
YXN0ZWJvYXJkTmFtZSkpCkBAIC00NDgsNiArNDcyLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJv
eHk6OmNvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUoSVBDOjpDb25uZWN0aW9u
JgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVVUkxUb1Bhc3RlYm9hcmQoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBQYXN0ZWJvYXJkVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9f
UFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0soIXBhc3RlYm9hcmROYW1lLmlz
RW1wdHkoKSk7CiAKICAgICBhdXRvIHByZXZpb3VzQ2hhbmdlQ291bnQgPSBQbGF0Zm9ybVBhc3Rl
Ym9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50KCk7CkBAIC00NTcsNiArNDgyLDcgQEAg
dm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlVVJMVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgY29uc3QKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRl
V2ViQ29udGVudFRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0
IFdlYkNvcmU6OlBhc3RlYm9hcmRXZWJDb250ZW50JiBjb250ZW50LCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9G
VU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCkp
OwogCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBh
c3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwpAQCAtNDY2LDYgKzQ5Miw3IEBAIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9Q
YXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgV2ViQ29yZTo6UGFz
dGVib2FyZEltYWdlJiBwYXN0ZWJvYXJkSW1hZ2UsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18p
OwogICAgIE1FU1NBR0VfQ0hFQ0soIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSk7CiAKICAgICBh
dXRvIHByZXZpb3VzQ2hhbmdlQ291bnQgPSBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5h
bWUpLmNoYW5nZUNvdW50KCk7CkBAIC00NzUsNiArNTAyLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OndyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
LCBjb24KIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlU3RyaW5nVG9QYXN0ZWJvYXJk
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlw
ZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogewor
ICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBN
RVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCkpOwogICAgIE1FU1NBR0VfQ0hF
Q0soIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSB8fCB0ZXh0LmlzRW1wdHkoKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCmluZGV4IDMxNjA2YTk1ODdmNTFiMGIzYWVhYWJmNTZiYzM1OTZjMmQ4NDAzZjMuLjIw
YWQxMzc3Y2VmMDc2MWRkNDQzNzZjOTJkMjUwNjAxMWZjNTcyYjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpA
QCAtNDI0Nyw3ICs0MjQ3LDkgQEAgLSAodm9pZClyZXF1ZXN0QXV0b2NvcnJlY3Rpb25Db250ZXh0
V2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShVSVdLQXV0b2NvcnIKICAgICBfcGFnZS0+
cmVxdWVzdEF1dG9jb3JyZWN0aW9uQ29udGV4dCgpOwogCiAgICAgaWYgKHVzZVN5bmNSZXF1ZXN0
KSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogV2FpdGluZyBmb3IgYXV0b2NvcnJlY3Rp
b24gY29udGV4dC4uLiIpOwogICAgICAgICBfcGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKS0+
d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFu
ZGxlQXV0b2NvcnJlY3Rpb25Db250ZXh0PihfcGFnZS0+d2ViUGFnZUlEKCksIDFfcywgSVBDOjpX
YWl0Rm9yT3B0aW9uOjpEaXNwYXRjaEluY29taW5nU3luY01lc3NhZ2VzV2hpbGVXYWl0aW5nKTsK
KyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAuLi5kb25lIHdhaXRpbmchIik7CiAgICAgICAg
IFtzZWxmIF9jYW5jZWxQZW5kaW5nQXV0b2NvcnJlY3Rpb25Db250ZXh0SGFuZGxlcl07CiAgICAg
fQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCBjNzg5NzdhODlkM2JhYzYzMTlmMmU0YTRkZWRiYTUxNjc2Nzg3MmYxLi43ZDU4MjM4NGQ5ZmVi
NmQ4ZGE4NzFlN2RlOGM2ZTk1MzI0NjU5OTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTkwNyw2ICs1OTA3LDkgQEAgdm9pZCBXZWJQYWdl
OjpkaWRDb21taXRMb2FkKFdlYkZyYW1lKiBmcmFtZSkKICAgICBpZiAoIWZyYW1lLT5pc01haW5G
cmFtZSgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmcmFt
ZS0+Y29yZUZyYW1lKCktPmRvY3VtZW50KCkpCisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
Q29tbWl0dGVkIGxvYWQ6IDwlcz4iLCBkb2N1bWVudC0+dXJsKCkucGF0aCgpLnRvU3RyaW5nKCku
dXRmOCgpLmRhdGEoKSk7CisKICAgICBpZiAobV9kcmF3aW5nQXJlYSkKICAgICAgICAgbV9kcmF3
aW5nQXJlYS0+c2VuZEVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVJZk5lZWRlZCgpOwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggY2JlZTQwNzU1ZTcwNWU1YWI5ZjM4MzJhZDJhNjZlOTQ3ZWYwMDE2ZC4uNGZiYzNi
Mzk5NjM4NDY1MjFiNmI2ZjNiZDYwMzZjYTViZmYzYWZiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxNCBA
QAorMjAyMC0wNS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSRUdSRVNTSU9OOiAocjI2MTgxMj8pOiBbIGlPUyB3azIgUmVsZWFzZSBdIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLmh0bWwgaXMg
Zmxha3kgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEyMjgxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzU1NDkxMj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFV1MgdHJpYWwgcnVuLgor
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTguaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYx
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Lmh0bWw6IEFkZGVkLgor
CiAyMDIwLTA1LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtDbGlwYm9hcmQgQVBJXSBTdXBwb3J0IHJlYWRpbmcgImltYWdlL3BuZyIgb24gQ2xp
cGJvYXJkSXRlbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIw
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MC5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjguaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90aGlzLXRlc3Qtd2lsbC1mYWlsLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90aGlzLXRlc3Qtd2lsbC1mYWlsLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ5M2I2
N2JhOWEzN2I3YjkzZGQxZTNmMjYzMjFkYTNlZTYzZGRmZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RoaXMtdGVzdC13aWxsLWZhaWwtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDIgQEAKK2FzZGYKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdGhpcy10ZXN0LXdpbGwtZmFpbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdGhp
cy10ZXN0LXdpbGwtZmFpbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjNTE4ZjBkMDlhNGFlNTI5NDhiYjgx
ZGE0NmRhYWM4M2YzMGUyOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90aGlzLXRlc3Qtd2lsbC1mYWlsLmh0bWwKQEAgLTAsMCArMSBAQAorZm9yY2UgRVdTIHRv
IGZhaWwgc28gSSBjYW4gc2VlIGZsYWt5IHRlc3QgcmVzdWx0cywgYnkgYWRkaW5nIHRoaXMgYm9n
dXMgdGVzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3It
d2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
LXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUxNGFhZTEzOTY4MzZkZWRkOTU5OGRiZTIwN2Uz
MDNiYzViZDE3NzcuLjc3MjM1MjJmMzM1OWRlMzVhMDY2ZGMxNTk1M2YxYTY3YzFhYTNmOTkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtOTIsNSArOTIsMyBAQCB3ZWJraXQub3JnL2IvMjA4MDM2IGh0dHAv
d3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcHV0LWtleXMuaHR0cHMuYW55Lndvcmtlci5odG1sCiB3
ZWJraXQub3JnL2IvMjA5MjM0IFsgUmVsZWFzZSBdIHBsYXRmb3JtL2lvcy9pb3MvcGx1Z2luL3lv
dXR1YmUtZmxhc2gtcGx1Z2luLWlmcmFtZS1uby1oZWlnaHQtb3Itd2lkdGguaHRtbCBbIFBhc3Mg
RmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9j
YWNoZS1wdXQta2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLXdlYmtpdC5v
cmcvYi8yMTIyODEgWyBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400486</attachid>
            <date>2020-05-28 11:19:12 -0700</date>
            <delta_ts>2020-05-28 12:57:19 -0700</delta_ts>
            <desc>Repro attempt #10</desc>
            <filename>bug-212281-20200528111910.patch</filename>
            <type>text/plain</type>
            <size>470297</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE2NWU2YzVjZjBkYTQx
NWEzN2ZiOGY3NjU4MTlmNTNiNjA1NDA4Zi4uOTZiNmFlMzdhMjEzMzQ0MWMyNTRiZWFlNDZkNTgy
NGFlNDlmMjY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI3ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtDbGlwYm9hcmQgQVBJXSBT
dXBwb3J0IHJlYWRpbmcgImltYWdlL3BuZyIgb24gQ2xpcGJvYXJkSXRlbQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBi
ZjVhYjI1NGI1ZDE3MDQ3ODgwMmI1MjM5OTQ1ODk1NmVhM2YwNDUwLi45Y2UyODVlOGZiNjcxYmRk
ODczYzZkZDFiZDJkN2YzOWQ5YTNjYWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIw
LTA1LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBm
YWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmRpZENvbW1pdExvYWQpOgorCiAyMDIwLTA1LTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI2MDg0
MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0Ns
aXBib2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlw
Ym9hcmQuY3BwCmluZGV4IDhlYTE3ZWIzZThkZjQ0ZmNhMzFhZjAzYzBiMzQwMmQ2YzcyMmM0OTEu
Ljc3MmI4MTZjNjZlNWQxYjYwMjBiNTk3ZGE1NTRiZmViNGE4ZTJmNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApAQCAt
MTQ5LDYgKzE0OSwxMCBAQCB2b2lkIENsaXBib2FyZDo6d3JpdGVUZXh0KGNvbnN0IFN0cmluZyYg
ZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIHByb21pc2UtPnJlc29s
dmUoKTsKIH0KIAorI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQordGhpcyBqdXN0IGhlcmUgdG8g
bWFrZSBFV1MgZmFpbCBlYXJseSBvbiBub24taU9TIGJvdHMgOlAKKyNlbmRpZgorCiB2b2lkIENs
aXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAgYXV0
byByZWplY3RQcm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNzaW9uID0gWyZdIHsKQEAgLTE1OCw2ICsx
NjIsNyBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21p
c2UpCiAKICAgICBhdXRvIGZyYW1lID0gbWFrZVJlZlB0cih0aGlzLT5mcmFtZSgpKTsKICAgICBp
ZiAoIWZyYW1lKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogTWlzc2luZyBmcmFtZT8i
KTsKICAgICAgICAgcmVqZWN0UHJvbWlzZUFuZENsZWFyQWN0aXZlU2Vzc2lvbigpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtMTY1LDEzICsxNzAsMjIgQEAgdm9pZCBDbGlwYm9hcmQ6OnJl
YWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGF1dG8gcGFzdGVib2FyZCA9
IFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpOwogICAgIGF1dG8gY2hhbmdlQ291
bnRBdFN0YXJ0ID0gcGFzdGVib2FyZC0+Y2hhbmdlQ291bnQoKTsKIAorICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogUmVxdWVzdGluZyBET00gcGFzdGUgYWNjZXNzLi4uIik7CiAgICAgaWYgKCFmcmFt
ZS0+cmVxdWVzdERPTVBhc3RlQWNjZXNzKCkpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiAuLi5mYWlsZWQuIik7CiAgICAgICAgIHJlamVjdFByb21pc2VBbmRDbGVhckFjdGl2ZVNlc3Np
b24oKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
Li4ucGFzc2VkLiIpOworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogIik7CisgICAgV1RGTG9nQWx3
YXlzKCI8V0s+OiBIYXMgYWN0aXZlIHNlc3Npb24/ICVzIiwgbV9hY3RpdmVTZXNzaW9uID8gInll
cyIgOiAibm8iKTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IC0gY2hhbmdlQ291bnRBdFN0YXJ0
ICVsbGQiLCBjaGFuZ2VDb3VudEF0U3RhcnQpOworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogLSBt
X2FjdGl2ZVNlc3Npb24tPmNoYW5nZUNvdW50ICVsbGQiLCBtX2FjdGl2ZVNlc3Npb24gPyBtX2Fj
dGl2ZVNlc3Npb24tPmNoYW5nZUNvdW50IDogMCk7CiAgICAgaWYgKCFtX2FjdGl2ZVNlc3Npb24g
fHwgbV9hY3RpdmVTZXNzaW9uLT5jaGFuZ2VDb3VudCAhPSBjaGFuZ2VDb3VudEF0U3RhcnQpIHsK
ICAgICAgICAgYXV0byBhbGxJbmZvID0gcGFzdGVib2FyZC0+YWxsUGFzdGVib2FyZEl0ZW1JbmZv
KCk7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogR290IHBhc3RlYm9hcmQgaXRlbSBpbmZv
PyAlcyIsIGFsbEluZm8gPyAieWVzIiA6ICJubyIpOworICAgICAgICBXVEZMb2dBbHdheXMoIjxX
Sz46IE51bWJlciBvZiBpdGVtczogJXp1IiwgYWxsSW5mbyA/IGFsbEluZm8tPnNpemUoKSA6IDAp
OwogICAgICAgICBpZiAoIWFsbEluZm8pIHsKICAgICAgICAgICAgIHJlamVjdFByb21pc2VBbmRD
bGVhckFjdGl2ZVNlc3Npb24oKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTE4OSw3ICsyMDMs
OSBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2Up
CiAKIHZvaWQgQ2xpcGJvYXJkOjpnZXRUeXBlKENsaXBib2FyZEl0ZW0mIGl0ZW0sIGNvbnN0IFN0
cmluZyYgdHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogeworICAgIFdURkxv
Z0Fsd2F5cygiPFdLPjogR3JhYmJpbmcgZGF0YSBmb3IgdHlwZTogJXMiLCB0eXBlLnV0ZjgoKS5k
YXRhKCkpOwogICAgIGlmICghbV9hY3RpdmVTZXNzaW9uKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogPT4gTk8gQUNUSVZFIFNFU1NJT04uIik7CiAgICAgICAgIHByb21pc2UtPnJlamVj
dChOb3RBbGxvd2VkRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTk3LDYgKzIx
Myw3IEBAIHZvaWQgQ2xpcGJvYXJkOjpnZXRUeXBlKENsaXBib2FyZEl0ZW0mIGl0ZW0sIGNvbnN0
IFN0cmluZyYgdHlwZSwgUmVmPERlZmVycmVkUHJvCiAgICAgYXV0byBmcmFtZSA9IG1ha2VSZWZQ
dHIodGhpcy0+ZnJhbWUoKSk7CiAgICAgaWYgKCFmcmFtZSkgewogICAgICAgICBtX2FjdGl2ZVNl
c3Npb24gPSBXVEY6Om51bGxvcHQ7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogPT4gTk8g
RlJBTUUuIik7CiAgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtMjA2LDExICsyMjMsMTYgQEAgdm9pZCBDbGlwYm9hcmQ6
OmdldFR5cGUoQ2xpcGJvYXJkSXRlbSYgaXRlbSwgY29uc3QgU3RyaW5nJiB0eXBlLCBSZWY8RGVm
ZXJyZWRQcm8KICAgICB9KTsKIAogICAgIGlmIChpdGVtSW5kZXggPT0gbm90Rm91bmQpIHsKKyAg
ICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiA9PiBJVEVNIE5PVCBGT1VORC4iKTsKICAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KE5vdEFsbG93ZWRFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBpZiAoIWl0ZW0udHlwZXMoKS5jb250YWlucyh0eXBlKSkgeworICAgICAgICBXVEZM
b2dBbHdheXMoIjxXSz46ID0+IElURU0gRE9FUyBOT1QgQ09OVEFJTiBUWVBFLiBJIGhhdmUgdHlw
ZShzKTogWyIpOworICAgICAgICBmb3IgKGF1dG8mIHR5cGUgOiBpdGVtLnR5cGVzKCkpCisgICAg
ICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICAgICAlcyIsIHR5cGUudXRmOCgpLmRhdGEoKSk7
CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogXSIpOwogICAgICAgICBwcm9taXNlLT5yZWpl
Y3QoTm90QWxsb3dlZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI2MCw2ICsy
ODIsOSBAQCBDbGlwYm9hcmQ6OlNlc3Npb25Jc1ZhbGlkIENsaXBib2FyZDo6dXBkYXRlU2Vzc2lv
blZhbGlkaXR5KCkKICAgICAgICAgcmV0dXJuIFNlc3Npb25Jc1ZhbGlkOjpObzsKIAogICAgIGlm
IChtX2FjdGl2ZVNlc3Npb24tPmNoYW5nZUNvdW50ICE9IGFjdGl2ZVBhc3RlYm9hcmQoKS5jaGFu
Z2VDb3VudCgpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogKioqIElOVkFMSURBVElO
RyBTRVNTSU9OICoqKiIpOworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IGNoYW5nZUNvdW50
IHdhczogJWxsZCIsIG1fYWN0aXZlU2Vzc2lvbi0+Y2hhbmdlQ291bnQpOworICAgICAgICBXVEZS
ZXBvcnRCYWNrdHJhY2UoKTsKICAgICAgICAgbV9hY3RpdmVTZXNzaW9uID0gV1RGOjpudWxsb3B0
OwogICAgICAgICByZXR1cm4gU2Vzc2lvbklzVmFsaWQ6Ok5vOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RhdGFUcmFuc2Zlci5jcHAKaW5kZXggODQ2M2E0OGU5NzRmYmUzZjc3ZjY2OWU1MTc4MjQ3OWI5
NGNiMTA5Ni4uMzRmZTU3NWU5NDQyNTUyMWJjMDY0MzRjYTAxOTY4YTM5ZWYxMzRkYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKQEAgLTQzMCwxMiArNDMwLDE0IEBAIHZvaWQgRGF0
YVRyYW5zZmVyOjpjb21taXRUb1Bhc3RlYm9hcmQoUGFzdGVib2FyZCYgbmF0aXZlUGFzdGVib2Fy
ZCkKICAgICAgICAgLy8gdGhhdCBtYXkgaGF2ZSBiZWVuIHdyaXR0ZW4gYmVmb3JlIHN0YXJ0aW5n
IHRoZSBkcmFnIG9yIGNvcHlpbmcsIGFuZCBhZnRlciBlbmRpbmcgdGhlIGxhc3QKICAgICAgICAg
Ly8gZHJhZyBzZXNzaW9uIG9yIHBhc3RlLiBBZnRlciBwdXNoaW5nIHRoZSBzdGF0aWMgcGFzdGVi
b2FyZCdzIGNvbnRlbnRzIHRvIHRoZSBwbGF0Zm9ybSwgdGhlCiAgICAgICAgIC8vIHBhc3RlYm9h
cmQgc2hvdWxkIG9ubHkgY29udGFpbiBkYXRhIHRoYXQgd2FzIGluIHRoZSBzdGF0aWMgcGFzdGVi
b2FyZC4KKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBDbGVhcmluZyBuYXRpdmUgcGFzdGVi
b2FyZC4iKTsKICAgICAgICAgbmF0aXZlUGFzdGVib2FyZC5jbGVhcigpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKCkpIHsKICAgICAgICAgY3VzdG9tRGF0
YS5zZXRPcmlnaW4obV9vcmlnaW5JZGVudGlmaWVyKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiBXcml0aW5nIGN1c3RvbSBkYXRhLiIpOwogICAgICAgICBuYXRpdmVQYXN0ZWJvYXJkLndy
aXRlQ3VzdG9tRGF0YSh7IGN1c3RvbURhdGEgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IDBhNDBk
Y2YyZWJiODY0NGYzYmVmODQ1YmYxMjE4YWIyZTI1YzNjMGUuLjBiNDAzMGFiZTg3MDQyYjVmYTYz
N2Y1N2MwM2FlNGZkNDkwYWY0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9QYXN0ZWJvYXJkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
YXN0ZWJvYXJkSU9TLm1tCkBAIC00NjgsNiArNDY4LDcgQEAgdm9pZCBQYXN0ZWJvYXJkOjpjbGVh
cihjb25zdCBTdHJpbmcmIHR5cGUpCiAKIHZvaWQgUGFzdGVib2FyZDo6Y2xlYXIoKQogeworICAg
IFdURkxvZ0Fsd2F5cygiPFdLPjogQ2xlYXJpbmcgcGFzdGVib2FyZD8iKTsKICAgICBwbGF0Zm9y
bVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPndyaXRlVG9QYXN0ZWJvYXJkKFN0
cmluZygpLCBTdHJpbmcoKSwgbV9wYXN0ZWJvYXJkTmFtZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IGZk
M2E4NWFlMGFiNjBmOTQ5YTI2YmYyZDhjMDI3YTdmOTU1N2E3ZWUuLmQxZTUzZTRlZDc3YmRkOWRi
YTZkZGNjZWYwNjZiM2ExNTA3ZmVlMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQpAQCAtNjI4LDYgKzYyOCw3IEBAIHN0
YXRpYyBSZXRhaW5QdHI8V2ViSXRlbVByb3ZpZGVyUmVnaXN0cmF0aW9uSW5mb0xpc3Q+IGNyZWF0
ZUl0ZW1Qcm92aWRlclJlZ2lzdHJhCiAKIGludDY0X3QgUGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0
ZShjb25zdCBWZWN0b3I8UGFzdGVib2FyZEN1c3RvbURhdGE+JiBpdGVtRGF0YSkKIHsKKyAgICBX
VEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgYXV0byBy
ZWdpc3RyYXRpb25MaXN0cyA9IGNyZWF0ZU5TQXJyYXkoaXRlbURhdGEsIFtdIChhdXRvJiBkYXRh
KSB7CiAgICAgICAgIHJldHVybiBjcmVhdGVJdGVtUHJvdmlkZXJSZWdpc3RyYXRpb25MaXN0KGRh
dGEpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQppbmRleCAxODcwZWJjNDE0MWI2YmQ4ZGMxNzA1
MTI3MWM2ZTI1YmFmOGNmZWVlLi43OGNkYzY5ODdmNDJhYTk0ZWExMjNmOWU1NDAzMzNjNDIwNTQ2
YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJv
YXJkUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
YXN0ZWJvYXJkUHJveHlDb2NvYS5tbQpAQCAtMTM4LDYgKzEzOCw3IEBAIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5OjpkaWRNb2RpZnlDb250ZW50c09mUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3RpCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkVHlwZXMo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1l
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElP
Tl9fKTsKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0
ZWJvYXJkTmFtZSkpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwogCkBA
IC0xNDksNiArMTUwLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRU
eXBlcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFMKIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkUGF0aG5hbWVzRm9yVHlwZShJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZFR5cGUsCiAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5n
PiYmIHBhdGhuYW1lcywgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmJiBzYW5kYm94RXh0
ZW5zaW9ucyk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElP
TighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcih7IH0sIHsgfSkp
OwogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGNvbnN1bHQgY2FuQWNjZXNzUGFzdGVib2Fy
ZERhdGEoKSBpbnN0ZWFkLCBhbmQgYXZvaWQgcmVzcG9uZGluZyB3aXRoIGZpbGUgcGF0aHMgaWYg
aXQgcmV0dXJucyBmYWxzZS4KQEAgLTE3Niw2ICsxNzgsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQ
cm94eTo6Z2V0UGFzdGVib2FyZFBhdGhuYW1lc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aQogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFN0cmluZ0ZvclR5
cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFN0cmluZyYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxX
Sz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVU
SU9OKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKHsgfSkpOwog
CiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkRGF0YShjb25uZWN0aW9uLCBwYXN0ZWJvYXJk
TmFtZSkpCkBAIC0xODYsNiArMTg5LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBh
c3RlYm9hcmRTdHJpbmdGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwKIAogdm9p
ZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRTdHJpbmdzRm9yVHlwZShJUEM6OkNv
bm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0
cmluZz4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElP
TighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcih7IH0pKTsKIAog
ICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5h
bWUpKQpAQCAtMTk2LDYgKzIwMCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0
ZWJvYXJkU3RyaW5nc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uCiAKIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZShJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZFR5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVtb3J5
OjpIYW5kbGUmJiwgdWludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxv
Z0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NI
RUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRs
ZXIoeyB9LCAwKSk7CiAKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rp
b24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTIxOCwxMSArMjIzLDE0IEBAIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkQ2hhbmdl
Q291bnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBjb21wbGV0aW9uSGFuZGxl
cihQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50KCkpOworICAg
IGF1dG8gY2hhbmdlQ291bnQgPSBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNo
YW5nZUNvdW50KCk7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyA9PiAlbGxkIiwgX19QUkVU
VFlfRlVOQ1RJT05fXywgY2hhbmdlQ291bnQpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKGNoYW5n
ZUNvdW50KTsKIH0KIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRDb2xv
cihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6Q29sb3ImJik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNU
SU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwgcGFz
dGVib2FyZE5hbWUpKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIApA
QCAtMjMxLDYgKzIzOSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJk
Q29sb3IoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTCiAKIHZvaWQgV2ViUGFz
dGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkVVJMKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlv
biwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChj
b25zdCBTdHJpbmcmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMo
IjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0
ZWJvYXJkRGF0YShjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCiAgICAgICAgIHJldHVybiBj
b21wbGV0aW9uSGFuZGxlcih7IH0pOwogCkBAIC0yMzksNiArMjQ4LDcgQEAgdm9pZCBXZWJQYXN0
ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRVUkwoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
LCBjb25zdCBTdHIKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmFkZFBhc3RlYm9hcmRUeXBl
cyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXN0ZWJvYXJkVHlwZXMsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoaW50NjRfdCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3
YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tf
Q09NUExFVElPTighcGFzdGVib2FyZE5hbWUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcigw
KSk7CiAKICAgICBmb3IgKGF1dG8mIHR5cGUgOiBwYXN0ZWJvYXJkVHlwZXMpCkBAIC0yNTIsNiAr
MjYyLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmFkZFBhc3RlYm9hcmRUeXBlcyhJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFMKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJv
eHk6OnNldFBhc3RlYm9hcmRUeXBlcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXN0ZWJvYXJk
VHlwZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoaW50NjRfdCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18p
OwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZE5hbWUuaXNFbXB0eSgp
LCBjb21wbGV0aW9uSGFuZGxlcigwKSk7CiAKICAgICBmb3IgKGF1dG8mIHR5cGUgOiBwYXN0ZWJv
YXJkVHlwZXMpCkBAIC0yNjUsNiArMjc2LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNl
dFBhc3RlYm9hcmRUeXBlcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFMKIAog
dm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9hcmRVUkwoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBjb25zdCBQYXN0ZWJvYXJkVVJMJiBwYXN0ZWJvYXJkVVJMLCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3QpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BS
RVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9h
cmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgaWYgKGF1dG8q
IHdlYlByb2Nlc3NQcm94eSA9IHdlYlByb2Nlc3NQcm94eUZvckNvbm5lY3Rpb24oY29ubmVjdGlv
bikpIHsKQEAgLTI4MSw2ICsyOTMsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0UGFz
dGVib2FyZFVSTChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFBhcwogCiB2b2lk
IFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0UGFzdGVib2FyZENvbG9yKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6
Q29sb3ImIGNvbG9yLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3QpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmROYW1lLmlz
RW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgYXV0byBwcmV2aW91c0NoYW5n
ZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgp
OwpAQCAtMjkxLDYgKzMwNCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJv
YXJkQ29sb3IoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTCiAKIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZShJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgc3RyaW5nLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NP
TVBMRVRJT04oIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkp
OwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgp
LCBjb21wbGV0aW9uSGFuZGxlcigwKSk7CiAKQEAgLTMyMCw2ICszMzQsNyBAQCB2b2lkIFdlYlBh
c3RlYm9hcmRQcm94eTo6dXJsU3RyaW5nU3VpdGFibGVGb3JMb2FkaW5nKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0UGFzdGVib2FyZEJ1
ZmZlckZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTaGFyZWRN
ZW1vcnk6OkhhbmRsZSYgaGFuZGxlLCB1aW50NjRfdCBzaXplLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygi
PFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBM
RVRJT04oIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwog
ICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBj
b21wbGV0aW9uSGFuZGxlcigwKSk7CiAKQEAgLTM0NCw2ICszNTksNyBAQCB2b2lkIFdlYlBhc3Rl
Ym9hcmRQcm94eTo6c2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLAogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0TnVtYmVyT2ZGaWxlcyhJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
eworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAg
ICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFt
ZSkpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcigwKTsKIApAQCAtMzUyLDYgKzM2
OCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXROdW1iZXJPZkZpbGVzKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
Ojp0eXBlc1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYgb3JpZ2luLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9f
KTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIW9yaWdpbi5pc051bGwoKSwgY29tcGxl
dGlvbkhhbmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmRUeXBlcyhj
b25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCkBAIC0zNjIsNiArMzc5LDcgQEAgdm9pZCBXZWJQ
YXN0ZWJvYXJkUHJveHk6OnR5cGVzU2FmZUZvckRPTVRvUmVhZEFuZFdyaXRlKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGkKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlQ3VzdG9tRGF0
YShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3Vz
dG9tRGF0YT4mIGRhdGEsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoaW50NjRfdCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9n
QWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hF
Q0tfQ09NUExFVElPTighcGFzdGVib2FyZE5hbWUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxl
cigwKSk7CiAKICAgICBhdXRvIHByZXZpb3VzQ2hhbmdlQ291bnQgPSBQbGF0Zm9ybVBhc3RlYm9h
cmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50KCk7CkBAIC0zNzIsNiArMzkwLDcgQEAgdm9p
ZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlQ3VzdG9tRGF0YShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIGNvbnN0IFZlY3QKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmFsbFBhc3Rl
Ym9hcmRJdGVtSW5mbyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoT3B0aW9uYWw8VmVjdG9yPFBhc3RlYm9hcmRJdGVtSW5mbz4+JiYpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElP
Tl9fKTsKICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0
ZWJvYXJkTmFtZSkpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwogCkBA
IC0zODAsNiArMzk5LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmFsbFBhc3RlYm9hcmRJ
dGVtSW5mbyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnMKIAogdm9pZCBXZWJQYXN0
ZWJvYXJkUHJveHk6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGlu
dDY0X3QgY2hhbmdlQ291bnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8UGFzdGVi
b2FyZEl0ZW1JbmZvPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5BY2Nlc3NQ
YXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1
cm4gY29tcGxldGlvbkhhbmRsZXIoV1RGOjpudWxsb3B0KTsKIApAQCAtMzg4LDYgKzQwOCw3IEBA
IHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBh
c3RlYm9hcmRJdGVtc0NvdW50KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCh1aW50NjRfdCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJF
VFRZX0ZVTkNUSU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZFR5cGVzKGNvbm5l
Y3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVy
KDApOwogCkBAIC0zOTYsNiArNDE3LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBh
c3RlYm9hcmRJdGVtc0NvdW50KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY28KIAogdm9p
ZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRTdHJpbmdGcm9tUGFzdGVib2FyZChJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
VHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChTdHJpbmcmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExF
VElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcih7IH0pKTsK
IAogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwgcGFzdGVib2Fy
ZE5hbWUpKQpAQCAtNDA2LDYgKzQyOCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZWFk
U3RyaW5nRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzCiAKIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZWFkVVJMRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nJiYgdXJsLCBTdHJpbmcmJiB0aXRsZSk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9f
UFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEoY29u
bmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRs
ZXIoeyB9LCB7IH0pOwogCkBAIC00MTYsNiArNDM5LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJv
eHk6OnJlYWRVUkxGcm9tUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIHNp
emUKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChTaGFyZWRNZW1vcnk6OkhhbmRsZSYmLCB1aW50NjRfdCBzaXplKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlf
RlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkVHlw
ZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgMCkpOwogCiAgICAgaWYgKCFjYW5B
Y2Nlc3NQYXN0ZWJvYXJkRGF0YShjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkpCkBAIC00NDgs
NiArNDcyLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmNvbnRhaW5zU3RyaW5nU2FmZUZv
ckRPTVRvUmVhZEZvclR5cGUoSVBDOjpDb25uZWN0aW9uJgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQ
cm94eTo6d3JpdGVVUkxUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBj
b25zdCBQYXN0ZWJvYXJkVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7
CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAg
IE1FU1NBR0VfQ0hFQ0soIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSk7CiAKICAgICBhdXRvIHBy
ZXZpb3VzQ2hhbmdlQ291bnQgPSBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNo
YW5nZUNvdW50KCk7CkBAIC00NTcsNiArNDgyLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6
OndyaXRlVVJMVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QK
IAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlV2ViQ29udGVudFRvUGFzdGVib2FyZChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRXZWJD
b250ZW50JiBjb250ZW50LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogeworICAgIFdU
RkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdF
X0NIRUNLKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCkpOwogCiAgICAgYXV0byBwcmV2aW91c0No
YW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3Vu
dCgpOwpAQCAtNDY2LDYgKzQ5Miw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVdl
YkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uCiAKIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZEltYWdlJiBwYXN0ZWJvYXJk
SW1hZ2UsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgV1RGTG9nQWx3YXlz
KCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0soIXBh
c3RlYm9hcmROYW1lLmlzRW1wdHkoKSk7CiAKICAgICBhdXRvIHByZXZpb3VzQ2hhbmdlQ291bnQg
PSBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50KCk7CkBAIC00
NzUsNiArNTAyLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlSW1hZ2VUb1Bhc3Rl
Ym9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb24KIAogdm9pZCBXZWJQYXN0ZWJv
YXJkUHJveHk6OndyaXRlU3RyaW5nVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
JXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJk
TmFtZS5pc0VtcHR5KCkpOwogICAgIE1FU1NBR0VfQ0hFQ0soIXBhc3RlYm9hcmRUeXBlLmlzRW1w
dHkoKSB8fCB0ZXh0LmlzRW1wdHkoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDMxNjA2YTk1ODdm
NTFiMGIzYWVhYWJmNTZiYzM1OTZjMmQ4NDAzZjMuLjIwYWQxMzc3Y2VmMDc2MWRkNDQzNzZjOTJk
MjUwNjAxMWZjNTcyYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDI0Nyw3ICs0MjQ3LDkgQEAgLSAo
dm9pZClyZXF1ZXN0QXV0b2NvcnJlY3Rpb25Db250ZXh0V2l0aENvbXBsZXRpb25IYW5kbGVyOih2
b2lkICheKShVSVdLQXV0b2NvcnIKICAgICBfcGFnZS0+cmVxdWVzdEF1dG9jb3JyZWN0aW9uQ29u
dGV4dCgpOwogCiAgICAgaWYgKHVzZVN5bmNSZXF1ZXN0KSB7CisgICAgICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogV2FpdGluZyBmb3IgYXV0b2NvcnJlY3Rpb24gY29udGV4dC4uLiIpOwogICAgICAg
ICBfcGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRp
YXRlbHk8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQXV0b2NvcnJlY3Rpb25Db250ZXh0
PihfcGFnZS0+d2ViUGFnZUlEKCksIDFfcywgSVBDOjpXYWl0Rm9yT3B0aW9uOjpEaXNwYXRjaElu
Y29taW5nU3luY01lc3NhZ2VzV2hpbGVXYWl0aW5nKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAuLi5kb25lIHdhaXRpbmchIik7CiAgICAgICAgIFtzZWxmIF9jYW5jZWxQZW5kaW5nQXV0
b2NvcnJlY3Rpb25Db250ZXh0SGFuZGxlcl07CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBjNzg5NzdhODlkM2JhYzYzMTlmMmU0
YTRkZWRiYTUxNjc2Nzg3MmYxLi43ZDU4MjM4NGQ5ZmViNmQ4ZGE4NzFlN2RlOGM2ZTk1MzI0NjU5
OTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApA
QCAtNTkwNyw2ICs1OTA3LDkgQEAgdm9pZCBXZWJQYWdlOjpkaWRDb21taXRMb2FkKFdlYkZyYW1l
KiBmcmFtZSkKICAgICBpZiAoIWZyYW1lLT5pc01haW5GcmFtZSgpKQogICAgICAgICByZXR1cm47
CiAKKyAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmcmFtZS0+Y29yZUZyYW1lKCktPmRvY3VtZW50
KCkpCisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogQ29tbWl0dGVkIGxvYWQ6IDwlcz4iLCBk
b2N1bWVudC0+dXJsKCkucGF0aCgpLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisKICAgICBp
ZiAobV9kcmF3aW5nQXJlYSkKICAgICAgICAgbV9kcmF3aW5nQXJlYS0+c2VuZEVudGVyQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ01vZGVJZk5lZWRlZCgpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2JlZTQwNzU1ZTcwNWU1
YWI5ZjM4MzJhZDJhNjZlOTQ3ZWYwMDE2ZC4uNGZiYzNiMzk5NjM4NDY1MjFiNmI2ZjNiZDYwMzZj
YTViZmYzYWZiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxNCBAQAorMjAyMC0wNS0yNyAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OOiAocjI2
MTgxMj8pOiBbIGlPUyB3azIgUmVsZWFzZSBdIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLmh0bWwgaXMgZmxha3kgZmFpbGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMjgxCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82MzU1NDkxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBFV1MgdHJpYWwgcnVuLgorCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMDAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjguaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy01Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODguaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTk5Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTA1LTI3ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtDbGlwYm9hcmQgQVBJXSBT
dXBwb3J0IHJlYWRpbmcgImltYWdlL3BuZyIgb24gQ2xpcGJvYXJkSXRlbQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMDAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xNy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIz
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
MC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMzIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy00Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTUzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Lmh0bWwKQEAgLTAsMCAr
MSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxl
eGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNv
cHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAg
Y29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKwor
ICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAg
ICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBs
ZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIg
OiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Bs
YWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4
dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2Fk
RG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlv
bi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAg
ICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3Zl
KCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAg
ICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwv
YnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwv
YnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBp
dGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1
cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4
MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02MC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1Nzgx
OWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6
QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFi
bGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1j
bGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAg
ICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIp
OworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2Fy
ZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAi
PGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7
CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRl
eHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVj
dGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZp
bmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1h
cChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1
dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVC
dXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1
blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJj
b3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFz
dGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
aXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0
IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTY3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVy
aW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRv
Q2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9o
dG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAg
ICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9
PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBh
d2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBp
dGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3Ro
IiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAg
ICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0
IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAg
ICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1
dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVu
dChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0
b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9u
IGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1
NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAl
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAg
IHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9h
PiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5h
cHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJ
bmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBp
dGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBl
cy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAg
ICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3Qi
KSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAg
ICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24s
IHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAg
IDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3Ro
IGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRh
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBh
c3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAg
ICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+
QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAi
QXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAg
ICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
dGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAg
ICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91
cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1g
KTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29w
eUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4K
KyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTcyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2Iw
YTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0
YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZp
ZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0g
LS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBw
YXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAg
ICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAg
ICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8n
PkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRw
czovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDog
IkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAg
ICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
dXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVu
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9
YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2Nv
cHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+
CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+
CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlw
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVl
ZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny5odG1sCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBj
b3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAg
IGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisK
KyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBw
bGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3Qi
IDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9w
bGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAg
ICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9h
ZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRp
b24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAg
ICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0Pgor
ICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8
L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQ
SUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAg
IGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAg
ICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFz
dGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNm
ZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczov
L3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91
cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJk
LnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFp
biIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBh
d2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5j
LiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAk
e2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAg
ICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0
b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAg
IH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUg
dG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0
byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMg
MQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMu
IgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlh
M2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJk
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0
b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAg
ICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5
Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0Rh
dGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9
J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAg
ICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVu
Z3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAg
IGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFw
cGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikg
eworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNl
cHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9u
ID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOwor
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xp
Y2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGlj
ayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5s
ZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFw
cGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVj
YzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFs
OkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxh
YmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMt
Y2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4i
KTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9h
cmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDog
IjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
aXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0
ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4
Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBl
Y3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5t
YXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlC
dXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3Rl
QnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
Y29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBh
c3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGEx
NjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBl
cmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVU
b0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
aHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAg
ICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0g
YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0g
aXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0
aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdh
JykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdo
dCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVC
dXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0
dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRv
biBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMwor
UEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0
bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29w
eUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAg
ICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwv
YT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwg
SW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
aXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlw
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0
IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAg
ICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9u
LCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAg
ICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTguaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90aGlzLXRlc3Qtd2lsbC1mYWlsLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90aGlzLXRlc3Qtd2lsbC1mYWls
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ5M2I2N2JhOWEzN2I3YjkzZGQxZTNmMjYzMjFk
YTNlZTYzZGRmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Ro
aXMtdGVzdC13aWxsLWZhaWwtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIgQEAKK2FzZGYKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdGhpcy10ZXN0LXdpbGwtZmFpbC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdGhpcy10ZXN0LXdpbGwtZmFpbC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJjNTE4ZjBkMDlhNGFlNTI5NDhiYjgxZGE0NmRhYWM4M2YzMGUyOTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90aGlzLXRlc3Qtd2lsbC1mYWls
Lmh0bWwKQEAgLTAsMCArMSBAQAorZm9yY2UgRVdTIHRvIGZhaWwgc28gSSBjYW4gc2VlIGZsYWt5
IHRlc3QgcmVzdWx0cywgYnkgYWRkaW5nIHRoaXMgYm9ndXMgdGVzdC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDUxNGFhZTEzOTY4MzZkZWRkOTU5OGRiZTIwN2UzMDNiYzViZDE3NzcuLjc3MjM1MjJmMzM1
OWRlMzVhMDY2ZGMxNTk1M2YxYTY3YzFhYTNmOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTIsNSAr
OTIsMyBAQCB3ZWJraXQub3JnL2IvMjA4MDM2IGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUt
cHV0LWtleXMuaHR0cHMuYW55Lndvcmtlci5odG1sCiB3ZWJraXQub3JnL2IvMjA5MjM0IFsgUmVs
ZWFzZSBdIHBsYXRmb3JtL2lvcy9pb3MvcGx1Z2luL3lvdXR1YmUtZmxhc2gtcGx1Z2luLWlmcmFt
ZS1uby1oZWlnaHQtb3Itd2lkdGguaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcv
Yi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQta2V5cy5odHRwcy5hbnku
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLXdlYmtpdC5vcmcvYi8yMTIyODEgWyBSZWxlYXNlIF0g
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400497</attachid>
            <date>2020-05-28 12:57:12 -0700</date>
            <delta_ts>2020-05-28 16:37:43 -0700</delta_ts>
            <desc>Repro attempt #11</desc>
            <filename>bug-212281-20200528125711.patch</filename>
            <type>text/plain</type>
            <size>473013</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE2NWU2YzVjZjBkYTQx
NWEzN2ZiOGY3NjU4MTlmNTNiNjA1NDA4Zi4uOTZiNmFlMzdhMjEzMzQ0MWMyNTRiZWFlNDZkNTgy
NGFlNDlmMjY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI3ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtDbGlwYm9hcmQgQVBJXSBT
dXBwb3J0IHJlYWRpbmcgImltYWdlL3BuZyIgb24gQ2xpcGJvYXJkSXRlbQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBi
ZjVhYjI1NGI1ZDE3MDQ3ODgwMmI1MjM5OTQ1ODk1NmVhM2YwNDUwLi45Y2UyODVlOGZiNjcxYmRk
ODczYzZkZDFiZDJkN2YzOWQ5YTNjYWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIw
LTA1LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBm
YWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmRpZENvbW1pdExvYWQpOgorCiAyMDIwLTA1LTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI2MDg0
MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0Ns
aXBib2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlw
Ym9hcmQuY3BwCmluZGV4IDhlYTE3ZWIzZThkZjQ0ZmNhMzFhZjAzYzBiMzQwMmQ2YzcyMmM0OTEu
Ljc3MmI4MTZjNjZlNWQxYjYwMjBiNTk3ZGE1NTRiZmViNGE4ZTJmNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApAQCAt
MTQ5LDYgKzE0OSwxMCBAQCB2b2lkIENsaXBib2FyZDo6d3JpdGVUZXh0KGNvbnN0IFN0cmluZyYg
ZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIHByb21pc2UtPnJlc29s
dmUoKTsKIH0KIAorI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQordGhpcyBqdXN0IGhlcmUgdG8g
bWFrZSBFV1MgZmFpbCBlYXJseSBvbiBub24taU9TIGJvdHMgOlAKKyNlbmRpZgorCiB2b2lkIENs
aXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAgYXV0
byByZWplY3RQcm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNzaW9uID0gWyZdIHsKQEAgLTE1OCw2ICsx
NjIsNyBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21p
c2UpCiAKICAgICBhdXRvIGZyYW1lID0gbWFrZVJlZlB0cih0aGlzLT5mcmFtZSgpKTsKICAgICBp
ZiAoIWZyYW1lKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogTWlzc2luZyBmcmFtZT8i
KTsKICAgICAgICAgcmVqZWN0UHJvbWlzZUFuZENsZWFyQWN0aXZlU2Vzc2lvbigpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtMTY1LDEzICsxNzAsMjIgQEAgdm9pZCBDbGlwYm9hcmQ6OnJl
YWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGF1dG8gcGFzdGVib2FyZCA9
IFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpOwogICAgIGF1dG8gY2hhbmdlQ291
bnRBdFN0YXJ0ID0gcGFzdGVib2FyZC0+Y2hhbmdlQ291bnQoKTsKIAorICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogUmVxdWVzdGluZyBET00gcGFzdGUgYWNjZXNzLi4uIik7CiAgICAgaWYgKCFmcmFt
ZS0+cmVxdWVzdERPTVBhc3RlQWNjZXNzKCkpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiAuLi5mYWlsZWQuIik7CiAgICAgICAgIHJlamVjdFByb21pc2VBbmRDbGVhckFjdGl2ZVNlc3Np
b24oKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
Li4ucGFzc2VkLiIpOworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogIik7CisgICAgV1RGTG9nQWx3
YXlzKCI8V0s+OiBIYXMgYWN0aXZlIHNlc3Npb24/ICVzIiwgbV9hY3RpdmVTZXNzaW9uID8gInll
cyIgOiAibm8iKTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IC0gY2hhbmdlQ291bnRBdFN0YXJ0
ICVsbGQiLCBjaGFuZ2VDb3VudEF0U3RhcnQpOworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogLSBt
X2FjdGl2ZVNlc3Npb24tPmNoYW5nZUNvdW50ICVsbGQiLCBtX2FjdGl2ZVNlc3Npb24gPyBtX2Fj
dGl2ZVNlc3Npb24tPmNoYW5nZUNvdW50IDogMCk7CiAgICAgaWYgKCFtX2FjdGl2ZVNlc3Npb24g
fHwgbV9hY3RpdmVTZXNzaW9uLT5jaGFuZ2VDb3VudCAhPSBjaGFuZ2VDb3VudEF0U3RhcnQpIHsK
ICAgICAgICAgYXV0byBhbGxJbmZvID0gcGFzdGVib2FyZC0+YWxsUGFzdGVib2FyZEl0ZW1JbmZv
KCk7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogR290IHBhc3RlYm9hcmQgaXRlbSBpbmZv
PyAlcyIsIGFsbEluZm8gPyAieWVzIiA6ICJubyIpOworICAgICAgICBXVEZMb2dBbHdheXMoIjxX
Sz46IE51bWJlciBvZiBpdGVtczogJXp1IiwgYWxsSW5mbyA/IGFsbEluZm8tPnNpemUoKSA6IDAp
OwogICAgICAgICBpZiAoIWFsbEluZm8pIHsKICAgICAgICAgICAgIHJlamVjdFByb21pc2VBbmRD
bGVhckFjdGl2ZVNlc3Npb24oKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTE4OSw3ICsyMDMs
OSBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2Up
CiAKIHZvaWQgQ2xpcGJvYXJkOjpnZXRUeXBlKENsaXBib2FyZEl0ZW0mIGl0ZW0sIGNvbnN0IFN0
cmluZyYgdHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogeworICAgIFdURkxv
Z0Fsd2F5cygiPFdLPjogR3JhYmJpbmcgZGF0YSBmb3IgdHlwZTogJXMiLCB0eXBlLnV0ZjgoKS5k
YXRhKCkpOwogICAgIGlmICghbV9hY3RpdmVTZXNzaW9uKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogPT4gTk8gQUNUSVZFIFNFU1NJT04uIik7CiAgICAgICAgIHByb21pc2UtPnJlamVj
dChOb3RBbGxvd2VkRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTk3LDYgKzIx
Myw3IEBAIHZvaWQgQ2xpcGJvYXJkOjpnZXRUeXBlKENsaXBib2FyZEl0ZW0mIGl0ZW0sIGNvbnN0
IFN0cmluZyYgdHlwZSwgUmVmPERlZmVycmVkUHJvCiAgICAgYXV0byBmcmFtZSA9IG1ha2VSZWZQ
dHIodGhpcy0+ZnJhbWUoKSk7CiAgICAgaWYgKCFmcmFtZSkgewogICAgICAgICBtX2FjdGl2ZVNl
c3Npb24gPSBXVEY6Om51bGxvcHQ7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogPT4gTk8g
RlJBTUUuIik7CiAgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtMjA2LDExICsyMjMsMTYgQEAgdm9pZCBDbGlwYm9hcmQ6
OmdldFR5cGUoQ2xpcGJvYXJkSXRlbSYgaXRlbSwgY29uc3QgU3RyaW5nJiB0eXBlLCBSZWY8RGVm
ZXJyZWRQcm8KICAgICB9KTsKIAogICAgIGlmIChpdGVtSW5kZXggPT0gbm90Rm91bmQpIHsKKyAg
ICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiA9PiBJVEVNIE5PVCBGT1VORC4iKTsKICAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KE5vdEFsbG93ZWRFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBpZiAoIWl0ZW0udHlwZXMoKS5jb250YWlucyh0eXBlKSkgeworICAgICAgICBXVEZM
b2dBbHdheXMoIjxXSz46ID0+IElURU0gRE9FUyBOT1QgQ09OVEFJTiBUWVBFLiBJIGhhdmUgdHlw
ZShzKTogWyIpOworICAgICAgICBmb3IgKGF1dG8mIHR5cGUgOiBpdGVtLnR5cGVzKCkpCisgICAg
ICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICAgICAlcyIsIHR5cGUudXRmOCgpLmRhdGEoKSk7
CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogXSIpOwogICAgICAgICBwcm9taXNlLT5yZWpl
Y3QoTm90QWxsb3dlZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI2MCw2ICsy
ODIsOSBAQCBDbGlwYm9hcmQ6OlNlc3Npb25Jc1ZhbGlkIENsaXBib2FyZDo6dXBkYXRlU2Vzc2lv
blZhbGlkaXR5KCkKICAgICAgICAgcmV0dXJuIFNlc3Npb25Jc1ZhbGlkOjpObzsKIAogICAgIGlm
IChtX2FjdGl2ZVNlc3Npb24tPmNoYW5nZUNvdW50ICE9IGFjdGl2ZVBhc3RlYm9hcmQoKS5jaGFu
Z2VDb3VudCgpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogKioqIElOVkFMSURBVElO
RyBTRVNTSU9OICoqKiIpOworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IGNoYW5nZUNvdW50
IHdhczogJWxsZCIsIG1fYWN0aXZlU2Vzc2lvbi0+Y2hhbmdlQ291bnQpOworICAgICAgICBXVEZS
ZXBvcnRCYWNrdHJhY2UoKTsKICAgICAgICAgbV9hY3RpdmVTZXNzaW9uID0gV1RGOjpudWxsb3B0
OwogICAgICAgICByZXR1cm4gU2Vzc2lvbklzVmFsaWQ6Ok5vOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RhdGFUcmFuc2Zlci5jcHAKaW5kZXggODQ2M2E0OGU5NzRmYmUzZjc3ZjY2OWU1MTc4MjQ3OWI5
NGNiMTA5Ni4uMzRmZTU3NWU5NDQyNTUyMWJjMDY0MzRjYTAxOTY4YTM5ZWYxMzRkYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKQEAgLTQzMCwxMiArNDMwLDE0IEBAIHZvaWQgRGF0
YVRyYW5zZmVyOjpjb21taXRUb1Bhc3RlYm9hcmQoUGFzdGVib2FyZCYgbmF0aXZlUGFzdGVib2Fy
ZCkKICAgICAgICAgLy8gdGhhdCBtYXkgaGF2ZSBiZWVuIHdyaXR0ZW4gYmVmb3JlIHN0YXJ0aW5n
IHRoZSBkcmFnIG9yIGNvcHlpbmcsIGFuZCBhZnRlciBlbmRpbmcgdGhlIGxhc3QKICAgICAgICAg
Ly8gZHJhZyBzZXNzaW9uIG9yIHBhc3RlLiBBZnRlciBwdXNoaW5nIHRoZSBzdGF0aWMgcGFzdGVi
b2FyZCdzIGNvbnRlbnRzIHRvIHRoZSBwbGF0Zm9ybSwgdGhlCiAgICAgICAgIC8vIHBhc3RlYm9h
cmQgc2hvdWxkIG9ubHkgY29udGFpbiBkYXRhIHRoYXQgd2FzIGluIHRoZSBzdGF0aWMgcGFzdGVi
b2FyZC4KKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBDbGVhcmluZyBuYXRpdmUgcGFzdGVi
b2FyZC4iKTsKICAgICAgICAgbmF0aXZlUGFzdGVib2FyZC5jbGVhcigpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKCkpIHsKICAgICAgICAgY3VzdG9tRGF0
YS5zZXRPcmlnaW4obV9vcmlnaW5JZGVudGlmaWVyKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiBXcml0aW5nIGN1c3RvbSBkYXRhLiIpOwogICAgICAgICBuYXRpdmVQYXN0ZWJvYXJkLndy
aXRlQ3VzdG9tRGF0YSh7IGN1c3RvbURhdGEgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF0Zm9ybVBhc3RlYm9h
cmRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXRmb3JtUGFzdGVi
b2FyZENvY29hLm1tCmluZGV4IDA0Mjc0MTc2ZjUzOTg4ZDEyNzg1ODM2ODk4MWRhY2NjMWMzZTg4
ZDQuLjA4ZDUwZGFmMDAyOGYzNzRiYTZjNTVjNDM5ODlkYzM3NDJlNDEzNjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXRmb3JtUGFzdGVib2FyZENvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXRmb3JtUGFzdGVib2FyZENv
Y29hLm1tCkBAIC00MCw4ICs0MCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIE9wdGlvbmFs
PFZlY3RvcjxQYXN0ZWJvYXJkSXRlbUluZm8+PiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmFsbFBhc3Rl
Ym9hcmRJdGVtSW5mbyhpbnQ2NF90IGNoYW5nZUNvdW50KQogewotICAgIGlmIChjaGFuZ2VDb3Vu
dCAhPSBbbV9wYXN0ZWJvYXJkIGNoYW5nZUNvdW50XSkKKyAgICBpZiAoY2hhbmdlQ291bnQgIT0g
W21fcGFzdGVib2FyZCBjaGFuZ2VDb3VudF0pIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiBCQUlMSU5HIEJFQ0FVU0UgQ0hBTkdFIENPVU5UUyBESUZGRVIgKCVsbGQsICVsbGQpIiwgY2hh
bmdlQ291bnQsIFttX3Bhc3RlYm9hcmQgY2hhbmdlQ291bnRdKTsKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKyAgICB9CiAKICAgICBWZWN0b3I8UGFzdGVib2FyZEl0ZW1JbmZvPiBpdGVt
SW5mbzsKICAgICBpbnQgbnVtYmVyT2ZJdGVtcyA9IGNvdW50KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IDBhNDBkY2YyZWJiODY0NGYzYmVm
ODQ1YmYxMjE4YWIyZTI1YzNjMGUuLjBiNDAzMGFiZTg3MDQyYjVmYTYzN2Y1N2MwM2FlNGZkNDkw
YWY0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJk
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1t
CkBAIC00NjgsNiArNDY4LDcgQEAgdm9pZCBQYXN0ZWJvYXJkOjpjbGVhcihjb25zdCBTdHJpbmcm
IHR5cGUpCiAKIHZvaWQgUGFzdGVib2FyZDo6Y2xlYXIoKQogeworICAgIFdURkxvZ0Fsd2F5cygi
PFdLPjogQ2xlYXJpbmcgcGFzdGVib2FyZD8iKTsKICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+
cGFzdGVib2FyZFN0cmF0ZWd5KCktPndyaXRlVG9QYXN0ZWJvYXJkKFN0cmluZygpLCBTdHJpbmco
KSwgbV9wYXN0ZWJvYXJkTmFtZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IGZkM2E4NWFlMGFiNjBmOTQ5
YTI2YmYyZDhjMDI3YTdmOTU1N2E3ZWUuLjEwOTJmZjRhNzljY2FlY2FlYzk0NmNlNDk1ZWY5OGQw
YmM5NWQ3MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9y
bVBhc3RlYm9hcmRJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRm
b3JtUGFzdGVib2FyZElPUy5tbQpAQCAtMTY5LDExICsxNjksMTUgQEAgc3RhdGljIFBhc3RlYm9h
cmRJdGVtUHJlc2VudGF0aW9uU3R5bGUgcGFzdGVib2FyZEl0ZW1QcmVzZW50YXRpb25TdHlsZShV
SVByZWZlcnIKIAogT3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBQbGF0Zm9ybVBhc3RlYm9h
cmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV90IGluZGV4LCBpbnQ2NF90IGNoYW5n
ZUNvdW50KQogewotICAgIGlmIChpbmRleCA+PSBzdGF0aWNfY2FzdDxOU1VJbnRlZ2VyPihbbV9w
YXN0ZWJvYXJkIG51bWJlck9mSXRlbXNdKSkKKyAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8
TlNVSW50ZWdlcj4oW21fcGFzdGVib2FyZCBudW1iZXJPZkl0ZW1zXSkpIHsKKyAgICAgICAgV1RG
TG9nQWx3YXlzKCI8V0s+OiBJTkRFWDogJXp1IElTIE9VVCBPRiBCT1VORFMgKCV6dSBJVEVNKFMp
KSIsIGluZGV4LCBbbV9wYXN0ZWJvYXJkIG51bWJlck9mSXRlbXNdKTsKICAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICB9CiAKLSAgICBpZiAodGhpcy0+Y2hhbmdlQ291bnQoKSAhPSBj
aGFuZ2VDb3VudCkKKyAgICBpZiAodGhpcy0+Y2hhbmdlQ291bnQoKSAhPSBjaGFuZ2VDb3VudCkg
eworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IEJBSUxJTkcgQkVDQVVTRSBDSEFOR0UgQ09V
TlRTIERJRkZFUiAoJWxsZCwgJWxsZCkiLCBjaGFuZ2VDb3VudCwgdGhpcy0+Y2hhbmdlQ291bnQo
KSk7CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfQogCiAgICAgUGFzdGVib2Fy
ZEl0ZW1JbmZvIGluZm87CiAgICAgTlNJdGVtUHJvdmlkZXIgKml0ZW1Qcm92aWRlciA9IFtbbV9w
YXN0ZWJvYXJkIGl0ZW1Qcm92aWRlcnNdIG9iamVjdEF0SW5kZXg6aW5kZXhdOwpAQCAtNjI4LDYg
KzYzMiw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8V2ViSXRlbVByb3ZpZGVyUmVnaXN0cmF0aW9uSW5m
b0xpc3Q+IGNyZWF0ZUl0ZW1Qcm92aWRlclJlZ2lzdHJhCiAKIGludDY0X3QgUGxhdGZvcm1QYXN0
ZWJvYXJkOjp3cml0ZShjb25zdCBWZWN0b3I8UGFzdGVib2FyZEN1c3RvbURhdGE+JiBpdGVtRGF0
YSkKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7
CiAgICAgYXV0byByZWdpc3RyYXRpb25MaXN0cyA9IGNyZWF0ZU5TQXJyYXkoaXRlbURhdGEsIFtd
IChhdXRvJiBkYXRhKSB7CiAgICAgICAgIHJldHVybiBjcmVhdGVJdGVtUHJvdmlkZXJSZWdpc3Ry
YXRpb25MaXN0KGRhdGEpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQppbmRleCAxODcwZWJjNDE0
MWI2YmQ4ZGMxNzA1MTI3MWM2ZTI1YmFmOGNmZWVlLi42ZTdhNzg4ZWYzYjdkYzczMDU0NDJiMTQ0
MTBlOWRmMDRmNDk3ZTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQpAQCAtODMsMTMgKzgzLDE5IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZXZva2VBY2Nlc3MoV2ViUHJvY2Vzc1Byb3h5JiBwcm9j
ZXNzKQogCiBib29sIFdlYlBhc3RlYm9hcmRQcm94eTo6Y2FuQWNjZXNzUGFzdGVib2FyZFR5cGVz
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gISFhY2Nlc3NUeXBlKGNvbm5lY3Rpb24sIHBhc3RlYm9h
cmROYW1lKTsKKyAgICBib29sIHJlc3VsdCA9ICEhYWNjZXNzVHlwZShjb25uZWN0aW9uLCBwYXN0
ZWJvYXJkTmFtZSk7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdL
PjogREVOWUlORyBQQVNURUJPQVJEIFRZUEUgQUNDRVNTISIpOworICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKIGJvb2wgV2ViUGFzdGVib2FyZFByb3h5OjpjYW5BY2Nlc3NQYXN0ZWJvYXJkRGF0YShJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUp
IGNvbnN0CiB7CiAgICAgYXV0byB0eXBlID0gYWNjZXNzVHlwZShjb25uZWN0aW9uLCBwYXN0ZWJv
YXJkTmFtZSk7Ci0gICAgcmV0dXJuIHR5cGUgJiYgKnR5cGUgPT0gUGFzdGVib2FyZEFjY2Vzc1R5
cGU6OlR5cGVzQW5kRGF0YTsKKyAgICBib29sIHJlc3VsdCA9IHR5cGUgJiYgKnR5cGUgPT0gUGFz
dGVib2FyZEFjY2Vzc1R5cGU6OlR5cGVzQW5kRGF0YTsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAg
ICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBERU5ZSU5HIFBBU1RFQk9BUkQgREFUQSBBQ0NFU1MhIik7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogT3B0aW9uYWw8V2ViUGFzdGVib2FyZFByb3h5OjpQ
YXN0ZWJvYXJkQWNjZXNzVHlwZT4gV2ViUGFzdGVib2FyZFByb3h5OjphY2Nlc3NUeXBlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgY29u
c3QKQEAgLTEzOCw2ICsxNDQsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6ZGlkTW9kaWZ5
Q29udGVudHNPZlBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aQogCiB2b2lkIFdl
YlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFR5cGVzKElQQzo6Q29ubmVjdGlvbiYgY29u
bmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZM
b2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5B
Y2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIApAQCAtMTQ5LDYgKzE1Niw3IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBjb25zdCBTCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVi
b2FyZFBhdGhuYW1lc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLAogICAg
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJiBwYXRobmFtZXMsIFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZUFycmF5JiYgc2FuZGJveEV4dGVuc2lvbnMpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlz
RW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoeyB9LCB7IH0pKTsKIAogICAgIC8vIEZJWE1FOiBU
aGlzIHNob3VsZCBjb25zdWx0IGNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKCkgaW5zdGVhZCwgYW5k
IGF2b2lkIHJlc3BvbmRpbmcgd2l0aCBmaWxlIHBhdGhzIGlmIGl0IHJldHVybnMgZmFsc2UuCkBA
IC0xNzYsNiArMTg0LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRQ
YXRobmFtZXNGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGkKIAogdm9pZCBXZWJQYXN0
ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUu
aXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcih7IH0pKTsKIAogICAgIGlmICghY2FuQWNjZXNz
UGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtMTg2LDYgKzE5
NSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlw
ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
OjpnZXRQYXN0ZWJvYXJkU3RyaW5nc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRU
eXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlz
RW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNhbkFjY2Vzc1Bh
c3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTE5Niw2ICsyMDYs
NyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFN0cmluZ3NGb3JUeXBl
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
Z2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFNoYXJlZE1lbW9yeTo6SGFuZGxlJiYsIHVpbnQ2NF90
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwg
X19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0
ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgMCkpOwogCiAgICAg
aWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkRGF0YShjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkp
CkBAIC0yMTgsMTEgKzIyOSwxNCBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVi
b2FyZEJ1ZmZlckZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLAogCiB2b2lkIFdl
YlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZENoYW5nZUNvdW50KGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoaW50NjRfdCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoUGxhdGZvcm1QYXN0ZWJvYXJk
KHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpKTsKKyAgICBhdXRvIGNoYW5nZUNvdW50ID0g
UGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOworICAgIFdU
RkxvZ0Fsd2F5cygiPFdLPjogJXMgPT4gJWxsZCIsIF9fUFJFVFRZX0ZVTkNUSU9OX18sIGNoYW5n
ZUNvdW50KTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihjaGFuZ2VDb3VudCk7CiB9CiAKIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkQ29sb3IoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OkNvbG9yJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdU
RkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAoIWNh
bkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAgICAg
ICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiAKQEAgLTIzMSw2ICsyNDUsNyBAQCB2
b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZENvbG9yKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uc3QgUwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFz
dGVib2FyZFVSTChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3RyaW5nJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZ
X0ZVTkNUSU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlv
biwgcGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9
KTsKIApAQCAtMjM5LDYgKzI1NCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0
ZWJvYXJkVVJMKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyCiAKIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjphZGRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgcGFzdGVib2FyZFR5cGVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3QpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BS
RVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9h
cmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgZm9yIChhdXRv
JiB0eXBlIDogcGFzdGVib2FyZFR5cGVzKQpAQCAtMjUyLDYgKzI2OCw3IEBAIHZvaWQgV2ViUGFz
dGVib2FyZFByb3h5OjphZGRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBjb25zdCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkVHlw
ZXMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVzLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fs
d2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNL
X0NPTVBMRVRJT04oIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIo
MCkpOwogCiAgICAgZm9yIChhdXRvJiB0eXBlIDogcGFzdGVib2FyZFR5cGVzKQpAQCAtMjY1LDYg
KzI4Miw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkVHlwZXMoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFBy
b3h5OjpzZXRQYXN0ZWJvYXJkVVJMKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3Qg
UGFzdGVib2FyZFVSTCYgcGFzdGVib2FyZFVSTCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAg
ICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNv
bXBsZXRpb25IYW5kbGVyKDApKTsKIAogICAgIGlmIChhdXRvKiB3ZWJQcm9jZXNzUHJveHkgPSB3
ZWJQcm9jZXNzUHJveHlGb3JDb25uZWN0aW9uKGNvbm5lY3Rpb24pKSB7CkBAIC0yODEsNiArMjk5
LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9hcmRVUkwoSVBDOjpDb25u
ZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBQYXMKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6
OnNldFBhc3RlYm9hcmRDb2xvcihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xvciwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBX
VEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FH
RV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25I
YW5kbGVyKDApKTsKIAogICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3JtUGFz
dGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKQEAgLTI5MSw2ICszMTAsNyBA
QCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0UGFzdGVib2FyZENvbG9yKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0
UGFzdGVib2FyZFN0cmluZ0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBj
b25zdCBTdHJpbmcmIHN0cmluZywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVU
VFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJk
TmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsKICAgICBNRVNTQUdFX0NIRUNL
X0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIo
MCkpOwogCkBAIC0zMjAsNiArMzQwLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnVybFN0
cmluZ1N1aXRhYmxlRm9yTG9hZGluZyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24KIAogdm9p
ZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGhhbmRs
ZSwgdWludDY0X3Qgc2l6ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlf
RlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkTmFt
ZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsKICAgICBNRVNTQUdFX0NIRUNLX0NP
TVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkp
OwogCkBAIC0zNDQsNiArMzY1LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3Rl
Ym9hcmRCdWZmZXJGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwKIAogdm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OmdldE51bWJlck9mRmlsZXMoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKHVpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMo
IjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0
ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1cm4g
Y29tcGxldGlvbkhhbmRsZXIoMCk7CiAKQEAgLTM1Miw2ICszNzQsNyBAQCB2b2lkIFdlYlBhc3Rl
Ym9hcmRQcm94eTo6Z2V0TnVtYmVyT2ZGaWxlcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IGNvbnN0IFN0cgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6dHlwZXNTYWZlRm9yRE9NVG9S
ZWFkQW5kV3JpdGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dB
bHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVD
S19DT01QTEVUSU9OKCFvcmlnaW4uaXNOdWxsKCksIGNvbXBsZXRpb25IYW5kbGVyKHsgfSkpOwog
CiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2Fy
ZE5hbWUpKQpAQCAtMzYyLDYgKzM4NSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp0eXBl
c1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3RpCiAKIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUN1c3RvbURhdGEoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBWZWN0b3I8UGFzdGVib2FyZEN1c3RvbURhdGE+JiBkYXRhLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3Qp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBf
X1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3Rl
Ym9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgYXV0byBw
cmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5j
aGFuZ2VDb3VudCgpOwpAQCAtMzcyLDYgKzM5Niw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
Ojp3cml0ZUN1c3RvbURhdGEoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBWZWN0
CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjphbGxQYXN0ZWJvYXJkSXRlbUluZm8oSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2
NF90IGNoYW5nZUNvdW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFZlY3RvcjxQ
YXN0ZWJvYXJkSXRlbUluZm8+PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZM
b2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5B
Y2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIApAQCAtMzgwLDYgKzQwNSw3IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5OjphbGxQYXN0ZWJvYXJkSXRlbUluZm8oSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBjb25zCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjppbmZvcm1h
dGlvbkZvckl0ZW1BdEluZGV4KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZV90IGlu
ZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4mJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJF
VFRZX0ZVTkNUSU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZFR5cGVzKGNvbm5l
Y3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVy
KFdURjo6bnVsbG9wdCk7CiAKQEAgLTM4OCw2ICs0MTQsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQ
cm94eTo6aW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24sCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
eworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAg
ICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFt
ZSkpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcigwKTsKIApAQCAtMzk2LDYgKzQy
Myw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
OjpyZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBz
aXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nJiYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9G
VU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBl
LmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNhbkFjY2Vz
c1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTQwNiw2ICs0
MzQsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJk
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgcwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94
eTo6cmVhZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6
ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFN0cmluZyYmIHVybCwgU3RyaW5nJiYgdGl0bGUpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsK
ICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmRO
YW1lKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgeyB9KTsKIApAQCAt
NDE2LDYgKzQ0NSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZWFkVVJMRnJvbVBhc3Rl
Ym9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzaXplCiAKIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5OjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVt
b3J5OjpIYW5kbGUmJiwgdWludDY0X3Qgc2l6ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Cisg
ICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1F
U1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBjb21wbGV0
aW9uSGFuZGxlcih7IH0sIDApKTsKIAogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEo
Y29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtNDQ4LDYgKzQ3OCw3IEBAIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5Ojpjb250YWluc1N0cmluZ1NhZmVGb3JET01Ub1JlYWRGb3JUeXBlKElQ
Qzo6Q29ubmVjdGlvbiYKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlVVJMVG9QYXN0
ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUGFzdGVib2FyZFVSTCYg
dXJsLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogeworICAgIFdURkxvZ0Fsd2F5cygi
PFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLKCFwYXN0
ZWJvYXJkTmFtZS5pc0VtcHR5KCkpOwogCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0g
UGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwpAQCAtNDU3
LDYgKzQ4OCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVVSTFRvUGFzdGVib2Fy
ZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0CiAKIHZvaWQgV2ViUGFzdGVib2Fy
ZFByb3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkV2ViQ29udGVudCYgY29udGVudCwgY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVz
IiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDSyghcGFzdGVib2FyZE5h
bWUuaXNFbXB0eSgpKTsKIAogICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3Jt
UGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKQEAgLTQ2Niw2ICs0OTgs
NyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJk
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
d3JpdGVJbWFnZVRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0
IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFnZSYgcGFzdGVib2FyZEltYWdlLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRU
WV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5
KCkpOwogCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJk
KHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwpAQCAtNDc1LDYgKzUwOCw3IEBAIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVN0cmlu
Z1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSkKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJ
T05fXyk7CiAgICAgTUVTU0FHRV9DSEVDSyghcGFzdGVib2FyZE5hbWUuaXNFbXB0eSgpKTsKICAg
ICBNRVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCkgfHwgdGV4dC5pc0VtcHR5
KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCAzMTYwNmE5NTg3ZjUxYjBiM2FlYWFiZjU2YmMzNTk2
YzJkODQwM2YzLi4yMGFkMTM3N2NlZjA3NjFkZDQ0Mzc2YzkyZDI1MDYwMTFmYzU3MmIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KQEAgLTQyNDcsNyArNDI0Nyw5IEBAIC0gKHZvaWQpcmVxdWVzdEF1dG9jb3Jy
ZWN0aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoVUlXS0F1dG9jb3Jy
CiAgICAgX3BhZ2UtPnJlcXVlc3RBdXRvY29ycmVjdGlvbkNvbnRleHQoKTsKIAogICAgIGlmICh1
c2VTeW5jUmVxdWVzdCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IFdhaXRpbmcgZm9y
IGF1dG9jb3JyZWN0aW9uIGNvbnRleHQuLi4iKTsKICAgICAgICAgX3BhZ2UtPnByb2Nlc3MoKS5j
b25uZWN0aW9uKCktPndhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkhhbmRsZUF1dG9jb3JyZWN0aW9uQ29udGV4dD4oX3BhZ2UtPndlYlBhZ2VJRCgp
LCAxX3MsIElQQzo6V2FpdEZvck9wdGlvbjo6RGlzcGF0Y2hJbmNvbWluZ1N5bmNNZXNzYWdlc1do
aWxlV2FpdGluZyk7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogLi4uZG9uZSB3YWl0aW5n
ISIpOwogICAgICAgICBbc2VsZiBfY2FuY2VsUGVuZGluZ0F1dG9jb3JyZWN0aW9uQ29udGV4dEhh
bmRsZXJdOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggYzc4OTc3YTg5ZDNiYWM2MzE5ZjJlNGE0ZGVkYmE1MTY3Njc4NzJmMS4u
N2Q1ODIzODRkOWZlYjZkOGRhODcxZTdkZThjNmU5NTMyNDY1OTk5OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU5MDcsNiArNTkwNyw5IEBA
IHZvaWQgV2ViUGFnZTo6ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSogZnJhbWUpCiAgICAgaWYgKCFm
cmFtZS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8qIGRv
Y3VtZW50ID0gZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgpKQorICAgICAgICBXVEZMb2dB
bHdheXMoIjxXSz46IENvbW1pdHRlZCBsb2FkOiA8JXM+IiwgZG9jdW1lbnQtPnVybCgpLnBhdGgo
KS50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKG1fZHJhd2luZ0FyZWEpCiAg
ICAgICAgIG1fZHJhd2luZ0FyZWEtPnNlbmRFbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2Rl
SWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNiZWU0MDc1NWU3MDVlNWFiOWYzODMyYWQyYTY2ZTk0N2Vm
MDAxNmQuLjRmYmMzYjM5OTYzODQ2NTIxYjZiNmYzYmQ2MDM2Y2E1YmZmM2FmYjYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMTQgQEAKKzIwMjAtMDUtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTjogKHIyNjE4MTI/KTogWyBpT1Mgd2syIFJl
bGVhc2UgXSBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy5odG1sIGlzIGZsYWt5IGZhaWxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMjI4MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM1NTQ5
MTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRVdT
IHRyaWFsIHJ1bi4KKworICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTE0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTIwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTI2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjkuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTQzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQ2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTU5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjguaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcx
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtODMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy05My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5o
dG1sOiBBZGRlZC4KKwogMjAyMC0wNS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ2xpcGJvYXJkIEFQSV0gU3VwcG9ydCByZWFkaW5nICJpbWFn
ZS9wbmciIG9uIENsaXBib2FyZEl0ZW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTAwLmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTcuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNT
IHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBk
NzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC5odG1s
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRB
UElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgor
ICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7Cisg
ICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAg
ICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAg
ICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBh
c3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5z
ZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6
Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
dXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxh
aW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0g
YXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIElu
Yy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjog
JHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAg
ICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0
dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAg
ICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwv
c2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJl
IHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUg
dG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0xOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5
YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2Fy
ZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0
dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAg
ICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29w
eSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdE
YXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVm
PSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAg
ICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxl
bmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAg
ICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwi
KSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJB
cHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7
CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRv
biA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7
CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNs
aWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xp
Y2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBh
MzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0z
OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJj
NTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTguaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy01OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1Mg
aXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1Mg
dXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4
dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVl
NjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgx
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNj
NTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTky
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdGhpcy10ZXN0LXdpbGwtZmFpbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvdGhpcy10ZXN0LXdpbGwtZmFpbC1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY0OTNiNjdiYTlhMzdiN2I5M2RkMWUzZjI2MzIxZGEzZWU2M2RkZmYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90aGlzLXRlc3Qtd2lsbC1mYWlsLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyIEBACithc2RmCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RoaXMtdGVzdC13aWxsLWZhaWwuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3RoaXMtdGVzdC13aWxsLWZhaWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzUxOGYwZDA5
YTRhZTUyOTQ4YmI4MWRhNDZkYWFjODNmMzBlMjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvdGhpcy10ZXN0LXdpbGwtZmFpbC5odG1sCkBAIC0wLDAgKzEgQEAK
K2ZvcmNlIEVXUyB0byBmYWlsIHNvIEkgY2FuIHNlZSBmbGFreSB0ZXN0IHJlc3VsdHMsIGJ5IGFk
ZGluZyB0aGlzIGJvZ3VzIHRlc3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1MTRhYWUxMzk2ODM2ZGVk
ZDk1OThkYmUyMDdlMzAzYmM1YmQxNzc3Li43NzIzNTIyZjMzNTlkZTM1YTA2NmRjMTU5NTNmMWE2
N2MxYWEzZjk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTkyLDUgKzkyLDMgQEAgd2Via2l0Lm9yZy9i
LzIwODAzNiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS53
b3JrZXIuaHRtbAogd2Via2l0Lm9yZy9iLzIwOTIzNCBbIFJlbGVhc2UgXSBwbGF0Zm9ybS9pb3Mv
aW9zL3BsdWdpbi95b3V0dWJlLWZsYXNoLXBsdWdpbi1pZnJhbWUtbm8taGVpZ2h0LW9yLXdpZHRo
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjA3NDk2IGh0dHAvd3B0L2Nh
Y2hlLXN0b3JhZ2UvY2FjaGUtcHV0LWtleXMuaHR0cHMuYW55Lmh0bWwgWyBQYXNzIEZhaWx1cmUg
XQotCi13ZWJraXQub3JnL2IvMjEyMjgxIFsgUmVsZWFzZSBdIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400523</attachid>
            <date>2020-05-28 16:37:27 -0700</date>
            <delta_ts>2020-05-28 22:12:49 -0700</delta_ts>
            <desc>Repro attempt #12</desc>
            <filename>bug-212281-20200528163726.patch</filename>
            <type>text/plain</type>
            <size>474308</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE2NWU2YzVjZjBkYTQx
NWEzN2ZiOGY3NjU4MTlmNTNiNjA1NDA4Zi4uOTZiNmFlMzdhMjEzMzQ0MWMyNTRiZWFlNDZkNTgy
NGFlNDlmMjY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBmYWlsaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUpOgorCiAyMDIwLTA1LTI3ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtDbGlwYm9hcmQgQVBJXSBT
dXBwb3J0IHJlYWRpbmcgImltYWdlL3BuZyIgb24gQ2xpcGJvYXJkSXRlbQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBi
ZjVhYjI1NGI1ZDE3MDQ3ODgwMmI1MjM5OTQ1ODk1NmVhM2YwNDUwLi45Y2UyODVlOGZiNjcxYmRk
ODczYzZkZDFiZDJkN2YzOWQ5YTNjYWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIw
LTA1LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFJFR1JFU1NJT046IChyMjYxODEyPyk6IFsgaU9TIHdrMiBSZWxlYXNlIF0gZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreSBm
YWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVXUyB0cmlhbCBydW4uCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmRpZENvbW1pdExvYWQpOgorCiAyMDIwLTA1LTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI2MDg0
MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0Ns
aXBib2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlw
Ym9hcmQuY3BwCmluZGV4IDhlYTE3ZWIzZThkZjQ0ZmNhMzFhZjAzYzBiMzQwMmQ2YzcyMmM0OTEu
Ljc3MmI4MTZjNjZlNWQxYjYwMjBiNTk3ZGE1NTRiZmViNGE4ZTJmNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApAQCAt
MTQ5LDYgKzE0OSwxMCBAQCB2b2lkIENsaXBib2FyZDo6d3JpdGVUZXh0KGNvbnN0IFN0cmluZyYg
ZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIHByb21pc2UtPnJlc29s
dmUoKTsKIH0KIAorI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQordGhpcyBqdXN0IGhlcmUgdG8g
bWFrZSBFV1MgZmFpbCBlYXJseSBvbiBub24taU9TIGJvdHMgOlAKKyNlbmRpZgorCiB2b2lkIENs
aXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAgYXV0
byByZWplY3RQcm9taXNlQW5kQ2xlYXJBY3RpdmVTZXNzaW9uID0gWyZdIHsKQEAgLTE1OCw2ICsx
NjIsNyBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21p
c2UpCiAKICAgICBhdXRvIGZyYW1lID0gbWFrZVJlZlB0cih0aGlzLT5mcmFtZSgpKTsKICAgICBp
ZiAoIWZyYW1lKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogTWlzc2luZyBmcmFtZT8i
KTsKICAgICAgICAgcmVqZWN0UHJvbWlzZUFuZENsZWFyQWN0aXZlU2Vzc2lvbigpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtMTY1LDEzICsxNzAsMjIgQEAgdm9pZCBDbGlwYm9hcmQ6OnJl
YWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGF1dG8gcGFzdGVib2FyZCA9
IFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpOwogICAgIGF1dG8gY2hhbmdlQ291
bnRBdFN0YXJ0ID0gcGFzdGVib2FyZC0+Y2hhbmdlQ291bnQoKTsKIAorICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogUmVxdWVzdGluZyBET00gcGFzdGUgYWNjZXNzLi4uIik7CiAgICAgaWYgKCFmcmFt
ZS0+cmVxdWVzdERPTVBhc3RlQWNjZXNzKCkpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiAuLi5mYWlsZWQuIik7CiAgICAgICAgIHJlamVjdFByb21pc2VBbmRDbGVhckFjdGl2ZVNlc3Np
b24oKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIFdURkxvZ0Fsd2F5cygiPFdLPjog
Li4ucGFzc2VkLiIpOworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogIik7CisgICAgV1RGTG9nQWx3
YXlzKCI8V0s+OiBIYXMgYWN0aXZlIHNlc3Npb24/ICVzIiwgbV9hY3RpdmVTZXNzaW9uID8gInll
cyIgOiAibm8iKTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IC0gY2hhbmdlQ291bnRBdFN0YXJ0
ICVsbGQiLCBjaGFuZ2VDb3VudEF0U3RhcnQpOworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogLSBt
X2FjdGl2ZVNlc3Npb24tPmNoYW5nZUNvdW50ICVsbGQiLCBtX2FjdGl2ZVNlc3Npb24gPyBtX2Fj
dGl2ZVNlc3Npb24tPmNoYW5nZUNvdW50IDogMCk7CiAgICAgaWYgKCFtX2FjdGl2ZVNlc3Npb24g
fHwgbV9hY3RpdmVTZXNzaW9uLT5jaGFuZ2VDb3VudCAhPSBjaGFuZ2VDb3VudEF0U3RhcnQpIHsK
ICAgICAgICAgYXV0byBhbGxJbmZvID0gcGFzdGVib2FyZC0+YWxsUGFzdGVib2FyZEl0ZW1JbmZv
KCk7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogR290IHBhc3RlYm9hcmQgaXRlbSBpbmZv
PyAlcyIsIGFsbEluZm8gPyAieWVzIiA6ICJubyIpOworICAgICAgICBXVEZMb2dBbHdheXMoIjxX
Sz46IE51bWJlciBvZiBpdGVtczogJXp1IiwgYWxsSW5mbyA/IGFsbEluZm8tPnNpemUoKSA6IDAp
OwogICAgICAgICBpZiAoIWFsbEluZm8pIHsKICAgICAgICAgICAgIHJlamVjdFByb21pc2VBbmRD
bGVhckFjdGl2ZVNlc3Npb24oKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTE4OSw3ICsyMDMs
OSBAQCB2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2Up
CiAKIHZvaWQgQ2xpcGJvYXJkOjpnZXRUeXBlKENsaXBib2FyZEl0ZW0mIGl0ZW0sIGNvbnN0IFN0
cmluZyYgdHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogeworICAgIFdURkxv
Z0Fsd2F5cygiPFdLPjogR3JhYmJpbmcgZGF0YSBmb3IgdHlwZTogJXMiLCB0eXBlLnV0ZjgoKS5k
YXRhKCkpOwogICAgIGlmICghbV9hY3RpdmVTZXNzaW9uKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5
cygiPFdLPjogPT4gTk8gQUNUSVZFIFNFU1NJT04uIik7CiAgICAgICAgIHByb21pc2UtPnJlamVj
dChOb3RBbGxvd2VkRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTk3LDYgKzIx
Myw3IEBAIHZvaWQgQ2xpcGJvYXJkOjpnZXRUeXBlKENsaXBib2FyZEl0ZW0mIGl0ZW0sIGNvbnN0
IFN0cmluZyYgdHlwZSwgUmVmPERlZmVycmVkUHJvCiAgICAgYXV0byBmcmFtZSA9IG1ha2VSZWZQ
dHIodGhpcy0+ZnJhbWUoKSk7CiAgICAgaWYgKCFmcmFtZSkgewogICAgICAgICBtX2FjdGl2ZVNl
c3Npb24gPSBXVEY6Om51bGxvcHQ7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogPT4gTk8g
RlJBTUUuIik7CiAgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtMjA2LDExICsyMjMsMTYgQEAgdm9pZCBDbGlwYm9hcmQ6
OmdldFR5cGUoQ2xpcGJvYXJkSXRlbSYgaXRlbSwgY29uc3QgU3RyaW5nJiB0eXBlLCBSZWY8RGVm
ZXJyZWRQcm8KICAgICB9KTsKIAogICAgIGlmIChpdGVtSW5kZXggPT0gbm90Rm91bmQpIHsKKyAg
ICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiA9PiBJVEVNIE5PVCBGT1VORC4iKTsKICAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KE5vdEFsbG93ZWRFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBpZiAoIWl0ZW0udHlwZXMoKS5jb250YWlucyh0eXBlKSkgeworICAgICAgICBXVEZM
b2dBbHdheXMoIjxXSz46ID0+IElURU0gRE9FUyBOT1QgQ09OVEFJTiBUWVBFLiBJIGhhdmUgdHlw
ZShzKTogWyIpOworICAgICAgICBmb3IgKGF1dG8mIHR5cGUgOiBpdGVtLnR5cGVzKCkpCisgICAg
ICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ICAgICAlcyIsIHR5cGUudXRmOCgpLmRhdGEoKSk7
CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogXSIpOwogICAgICAgICBwcm9taXNlLT5yZWpl
Y3QoTm90QWxsb3dlZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI2MCw2ICsy
ODIsOSBAQCBDbGlwYm9hcmQ6OlNlc3Npb25Jc1ZhbGlkIENsaXBib2FyZDo6dXBkYXRlU2Vzc2lv
blZhbGlkaXR5KCkKICAgICAgICAgcmV0dXJuIFNlc3Npb25Jc1ZhbGlkOjpObzsKIAogICAgIGlm
IChtX2FjdGl2ZVNlc3Npb24tPmNoYW5nZUNvdW50ICE9IGFjdGl2ZVBhc3RlYm9hcmQoKS5jaGFu
Z2VDb3VudCgpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogKioqIElOVkFMSURBVElO
RyBTRVNTSU9OICoqKiIpOworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IGNoYW5nZUNvdW50
IHdhczogJWxsZCIsIG1fYWN0aXZlU2Vzc2lvbi0+Y2hhbmdlQ291bnQpOworICAgICAgICBXVEZS
ZXBvcnRCYWNrdHJhY2UoKTsKICAgICAgICAgbV9hY3RpdmVTZXNzaW9uID0gV1RGOjpudWxsb3B0
OwogICAgICAgICByZXR1cm4gU2Vzc2lvbklzVmFsaWQ6Ok5vOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RhdGFUcmFuc2Zlci5jcHAKaW5kZXggODQ2M2E0OGU5NzRmYmUzZjc3ZjY2OWU1MTc4MjQ3OWI5
NGNiMTA5Ni4uMzRmZTU3NWU5NDQyNTUyMWJjMDY0MzRjYTAxOTY4YTM5ZWYxMzRkYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKQEAgLTQzMCwxMiArNDMwLDE0IEBAIHZvaWQgRGF0
YVRyYW5zZmVyOjpjb21taXRUb1Bhc3RlYm9hcmQoUGFzdGVib2FyZCYgbmF0aXZlUGFzdGVib2Fy
ZCkKICAgICAgICAgLy8gdGhhdCBtYXkgaGF2ZSBiZWVuIHdyaXR0ZW4gYmVmb3JlIHN0YXJ0aW5n
IHRoZSBkcmFnIG9yIGNvcHlpbmcsIGFuZCBhZnRlciBlbmRpbmcgdGhlIGxhc3QKICAgICAgICAg
Ly8gZHJhZyBzZXNzaW9uIG9yIHBhc3RlLiBBZnRlciBwdXNoaW5nIHRoZSBzdGF0aWMgcGFzdGVi
b2FyZCdzIGNvbnRlbnRzIHRvIHRoZSBwbGF0Zm9ybSwgdGhlCiAgICAgICAgIC8vIHBhc3RlYm9h
cmQgc2hvdWxkIG9ubHkgY29udGFpbiBkYXRhIHRoYXQgd2FzIGluIHRoZSBzdGF0aWMgcGFzdGVi
b2FyZC4KKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBDbGVhcmluZyBuYXRpdmUgcGFzdGVi
b2FyZC4iKTsKICAgICAgICAgbmF0aXZlUGFzdGVib2FyZC5jbGVhcigpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKCkpIHsKICAgICAgICAgY3VzdG9tRGF0
YS5zZXRPcmlnaW4obV9vcmlnaW5JZGVudGlmaWVyKTsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiBXcml0aW5nIGN1c3RvbSBkYXRhLiIpOwogICAgICAgICBuYXRpdmVQYXN0ZWJvYXJkLndy
aXRlQ3VzdG9tRGF0YSh7IGN1c3RvbURhdGEgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF0Zm9ybVBhc3RlYm9h
cmRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXRmb3JtUGFzdGVi
b2FyZENvY29hLm1tCmluZGV4IDA0Mjc0MTc2ZjUzOTg4ZDEyNzg1ODM2ODk4MWRhY2NjMWMzZTg4
ZDQuLjA4ZDUwZGFmMDAyOGYzNzRiYTZjNTVjNDM5ODlkYzM3NDJlNDEzNjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXRmb3JtUGFzdGVib2FyZENvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXRmb3JtUGFzdGVib2FyZENv
Y29hLm1tCkBAIC00MCw4ICs0MCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIE9wdGlvbmFs
PFZlY3RvcjxQYXN0ZWJvYXJkSXRlbUluZm8+PiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmFsbFBhc3Rl
Ym9hcmRJdGVtSW5mbyhpbnQ2NF90IGNoYW5nZUNvdW50KQogewotICAgIGlmIChjaGFuZ2VDb3Vu
dCAhPSBbbV9wYXN0ZWJvYXJkIGNoYW5nZUNvdW50XSkKKyAgICBpZiAoY2hhbmdlQ291bnQgIT0g
W21fcGFzdGVib2FyZCBjaGFuZ2VDb3VudF0pIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiBCQUlMSU5HIEJFQ0FVU0UgQ0hBTkdFIENPVU5UUyBESUZGRVIgKCVsbGQsICVsbGQpIiwgY2hh
bmdlQ291bnQsIFttX3Bhc3RlYm9hcmQgY2hhbmdlQ291bnRdKTsKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKyAgICB9CiAKICAgICBWZWN0b3I8UGFzdGVib2FyZEl0ZW1JbmZvPiBpdGVt
SW5mbzsKICAgICBpbnQgbnVtYmVyT2ZJdGVtcyA9IGNvdW50KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IDBhNDBkY2YyZWJiODY0NGYzYmVm
ODQ1YmYxMjE4YWIyZTI1YzNjMGUuLjBiNDAzMGFiZTg3MDQyYjVmYTYzN2Y1N2MwM2FlNGZkNDkw
YWY0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJk
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1t
CkBAIC00NjgsNiArNDY4LDcgQEAgdm9pZCBQYXN0ZWJvYXJkOjpjbGVhcihjb25zdCBTdHJpbmcm
IHR5cGUpCiAKIHZvaWQgUGFzdGVib2FyZDo6Y2xlYXIoKQogeworICAgIFdURkxvZ0Fsd2F5cygi
PFdLPjogQ2xlYXJpbmcgcGFzdGVib2FyZD8iKTsKICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+
cGFzdGVib2FyZFN0cmF0ZWd5KCktPndyaXRlVG9QYXN0ZWJvYXJkKFN0cmluZygpLCBTdHJpbmco
KSwgbV9wYXN0ZWJvYXJkTmFtZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IGZkM2E4NWFlMGFiNjBmOTQ5
YTI2YmYyZDhjMDI3YTdmOTU1N2E3ZWUuLjEwOTJmZjRhNzljY2FlY2FlYzk0NmNlNDk1ZWY5OGQw
YmM5NWQ3MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9y
bVBhc3RlYm9hcmRJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRm
b3JtUGFzdGVib2FyZElPUy5tbQpAQCAtMTY5LDExICsxNjksMTUgQEAgc3RhdGljIFBhc3RlYm9h
cmRJdGVtUHJlc2VudGF0aW9uU3R5bGUgcGFzdGVib2FyZEl0ZW1QcmVzZW50YXRpb25TdHlsZShV
SVByZWZlcnIKIAogT3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1JbmZvPiBQbGF0Zm9ybVBhc3RlYm9h
cmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV90IGluZGV4LCBpbnQ2NF90IGNoYW5n
ZUNvdW50KQogewotICAgIGlmIChpbmRleCA+PSBzdGF0aWNfY2FzdDxOU1VJbnRlZ2VyPihbbV9w
YXN0ZWJvYXJkIG51bWJlck9mSXRlbXNdKSkKKyAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8
TlNVSW50ZWdlcj4oW21fcGFzdGVib2FyZCBudW1iZXJPZkl0ZW1zXSkpIHsKKyAgICAgICAgV1RG
TG9nQWx3YXlzKCI8V0s+OiBJTkRFWDogJXp1IElTIE9VVCBPRiBCT1VORFMgKCV6dSBJVEVNKFMp
KSIsIGluZGV4LCBbbV9wYXN0ZWJvYXJkIG51bWJlck9mSXRlbXNdKTsKICAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICB9CiAKLSAgICBpZiAodGhpcy0+Y2hhbmdlQ291bnQoKSAhPSBj
aGFuZ2VDb3VudCkKKyAgICBpZiAodGhpcy0+Y2hhbmdlQ291bnQoKSAhPSBjaGFuZ2VDb3VudCkg
eworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IEJBSUxJTkcgQkVDQVVTRSBDSEFOR0UgQ09V
TlRTIERJRkZFUiAoJWxsZCwgJWxsZCkiLCBjaGFuZ2VDb3VudCwgdGhpcy0+Y2hhbmdlQ291bnQo
KSk7CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfQogCiAgICAgUGFzdGVib2Fy
ZEl0ZW1JbmZvIGluZm87CiAgICAgTlNJdGVtUHJvdmlkZXIgKml0ZW1Qcm92aWRlciA9IFtbbV9w
YXN0ZWJvYXJkIGl0ZW1Qcm92aWRlcnNdIG9iamVjdEF0SW5kZXg6aW5kZXhdOwpAQCAtNjI4LDYg
KzYzMiw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8V2ViSXRlbVByb3ZpZGVyUmVnaXN0cmF0aW9uSW5m
b0xpc3Q+IGNyZWF0ZUl0ZW1Qcm92aWRlclJlZ2lzdHJhCiAKIGludDY0X3QgUGxhdGZvcm1QYXN0
ZWJvYXJkOjp3cml0ZShjb25zdCBWZWN0b3I8UGFzdGVib2FyZEN1c3RvbURhdGE+JiBpdGVtRGF0
YSkKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7
CiAgICAgYXV0byByZWdpc3RyYXRpb25MaXN0cyA9IGNyZWF0ZU5TQXJyYXkoaXRlbURhdGEsIFtd
IChhdXRvJiBkYXRhKSB7CiAgICAgICAgIHJldHVybiBjcmVhdGVJdGVtUHJvdmlkZXJSZWdpc3Ry
YXRpb25MaXN0KGRhdGEpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQppbmRleCAxODcwZWJjNDE0
MWI2YmQ4ZGMxNzA1MTI3MWM2ZTI1YmFmOGNmZWVlLi42ZTdhNzg4ZWYzYjdkYzczMDU0NDJiMTQ0
MTBlOWRmMDRmNDk3ZTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQpAQCAtODMsMTMgKzgzLDE5IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZXZva2VBY2Nlc3MoV2ViUHJvY2Vzc1Byb3h5JiBwcm9j
ZXNzKQogCiBib29sIFdlYlBhc3RlYm9hcmRQcm94eTo6Y2FuQWNjZXNzUGFzdGVib2FyZFR5cGVz
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gISFhY2Nlc3NUeXBlKGNvbm5lY3Rpb24sIHBhc3RlYm9h
cmROYW1lKTsKKyAgICBib29sIHJlc3VsdCA9ICEhYWNjZXNzVHlwZShjb25uZWN0aW9uLCBwYXN0
ZWJvYXJkTmFtZSk7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdL
PjogREVOWUlORyBQQVNURUJPQVJEIFRZUEUgQUNDRVNTISIpOworICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKIGJvb2wgV2ViUGFzdGVib2FyZFByb3h5OjpjYW5BY2Nlc3NQYXN0ZWJvYXJkRGF0YShJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUp
IGNvbnN0CiB7CiAgICAgYXV0byB0eXBlID0gYWNjZXNzVHlwZShjb25uZWN0aW9uLCBwYXN0ZWJv
YXJkTmFtZSk7Ci0gICAgcmV0dXJuIHR5cGUgJiYgKnR5cGUgPT0gUGFzdGVib2FyZEFjY2Vzc1R5
cGU6OlR5cGVzQW5kRGF0YTsKKyAgICBib29sIHJlc3VsdCA9IHR5cGUgJiYgKnR5cGUgPT0gUGFz
dGVib2FyZEFjY2Vzc1R5cGU6OlR5cGVzQW5kRGF0YTsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAg
ICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBERU5ZSU5HIFBBU1RFQk9BUkQgREFUQSBBQ0NFU1MhIik7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogT3B0aW9uYWw8V2ViUGFzdGVib2FyZFByb3h5OjpQ
YXN0ZWJvYXJkQWNjZXNzVHlwZT4gV2ViUGFzdGVib2FyZFByb3h5OjphY2Nlc3NUeXBlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgY29u
c3QKQEAgLTEzOCw2ICsxNDQsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6ZGlkTW9kaWZ5
Q29udGVudHNPZlBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aQogCiB2b2lkIFdl
YlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFR5cGVzKElQQzo6Q29ubmVjdGlvbiYgY29u
bmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZM
b2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5B
Y2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIApAQCAtMTQ5LDYgKzE1Niw3IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBjb25zdCBTCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVi
b2FyZFBhdGhuYW1lc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLAogICAg
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJiBwYXRobmFtZXMsIFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZUFycmF5JiYgc2FuZGJveEV4dGVuc2lvbnMpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlz
RW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoeyB9LCB7IH0pKTsKIAogICAgIC8vIEZJWE1FOiBU
aGlzIHNob3VsZCBjb25zdWx0IGNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKCkgaW5zdGVhZCwgYW5k
IGF2b2lkIHJlc3BvbmRpbmcgd2l0aCBmaWxlIHBhdGhzIGlmIGl0IHJldHVybnMgZmFsc2UuCkBA
IC0xNzYsNiArMTg0LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRQ
YXRobmFtZXNGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGkKIAogdm9pZCBXZWJQYXN0
ZWJvYXJkUHJveHk6OmdldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZV
TkNUSU9OX18pOwogICAgIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUu
aXNFbXB0eSgpLCBjb21wbGV0aW9uSGFuZGxlcih7IH0pKTsKIAogICAgIGlmICghY2FuQWNjZXNz
UGFzdGVib2FyZERhdGEoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtMTg2LDYgKzE5
NSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlw
ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
OjpnZXRQYXN0ZWJvYXJkU3RyaW5nc0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRU
eXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5D
VElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlz
RW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNhbkFjY2Vzc1Bh
c3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTE5Niw2ICsyMDYs
NyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZFN0cmluZ3NGb3JUeXBl
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
Z2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFNoYXJlZE1lbW9yeTo6SGFuZGxlJiYsIHVpbnQ2NF90
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwg
X19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0
ZWJvYXJkVHlwZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgMCkpOwogCiAgICAg
aWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkRGF0YShjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSkp
CkBAIC0yMTgsMTEgKzIyOSwxNCBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVi
b2FyZEJ1ZmZlckZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLAogCiB2b2lkIFdl
YlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZENoYW5nZUNvdW50KGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoaW50NjRfdCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoUGxhdGZvcm1QYXN0ZWJvYXJk
KHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpKTsKKyAgICBhdXRvIGNoYW5nZUNvdW50ID0g
UGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOworICAgIFdU
RkxvZ0Fsd2F5cygiPFdLPjogJXMgPT4gJWxsZCIsIF9fUFJFVFRZX0ZVTkNUSU9OX18sIGNoYW5n
ZUNvdW50KTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihjaGFuZ2VDb3VudCk7CiB9CiAKIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkQ29sb3IoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OkNvbG9yJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdU
RkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBpZiAoIWNh
bkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAgICAg
ICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiAKQEAgLTIzMSw2ICsyNDUsNyBAQCB2
b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFzdGVib2FyZENvbG9yKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uc3QgUwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6Z2V0UGFz
dGVib2FyZFVSTChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3RyaW5nJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZ
X0ZVTkNUSU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEoY29ubmVjdGlv
biwgcGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9
KTsKIApAQCAtMjM5LDYgKzI1NCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0
ZWJvYXJkVVJMKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyCiAKIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5OjphZGRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgcGFzdGVib2FyZFR5cGVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3QpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BS
RVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9h
cmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgZm9yIChhdXRv
JiB0eXBlIDogcGFzdGVib2FyZFR5cGVzKQpAQCAtMjUyLDYgKzI2OCw3IEBAIHZvaWQgV2ViUGFz
dGVib2FyZFByb3h5OjphZGRQYXN0ZWJvYXJkVHlwZXMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBjb25zdCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkVHlw
ZXMoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVzLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fs
d2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNL
X0NPTVBMRVRJT04oIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIo
MCkpOwogCiAgICAgZm9yIChhdXRvJiB0eXBlIDogcGFzdGVib2FyZFR5cGVzKQpAQCAtMjY1LDYg
KzI4Miw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpzZXRQYXN0ZWJvYXJkVHlwZXMoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTCiAKIHZvaWQgV2ViUGFzdGVib2FyZFBy
b3h5OjpzZXRQYXN0ZWJvYXJkVVJMKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3Qg
UGFzdGVib2FyZFVSTCYgcGFzdGVib2FyZFVSTCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAg
ICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNv
bXBsZXRpb25IYW5kbGVyKDApKTsKIAogICAgIGlmIChhdXRvKiB3ZWJQcm9jZXNzUHJveHkgPSB3
ZWJQcm9jZXNzUHJveHlGb3JDb25uZWN0aW9uKGNvbm5lY3Rpb24pKSB7CkBAIC0yODEsNiArMjk5
LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9hcmRVUkwoSVBDOjpDb25u
ZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBQYXMKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6
OnNldFBhc3RlYm9hcmRDb2xvcihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xvciwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBX
VEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FH
RV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25I
YW5kbGVyKDApKTsKIAogICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3JtUGFz
dGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKQEAgLTI5MSw2ICszMTAsNyBA
QCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0UGFzdGVib2FyZENvbG9yKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6c2V0
UGFzdGVib2FyZFN0cmluZ0ZvclR5cGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBj
b25zdCBTdHJpbmcmIHN0cmluZywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVU
VFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJk
TmFtZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsKICAgICBNRVNTQUdFX0NIRUNL
X0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIo
MCkpOwogCkBAIC0zMjAsNiArMzQwLDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnVybFN0
cmluZ1N1aXRhYmxlRm9yTG9hZGluZyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24KIAogdm9p
ZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGhhbmRs
ZSwgdWludDY0X3Qgc2l6ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlf
RlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKCFwYXN0ZWJvYXJkTmFt
ZS5pc0VtcHR5KCksIGNvbXBsZXRpb25IYW5kbGVyKDApKTsKICAgICBNRVNTQUdFX0NIRUNLX0NP
TVBMRVRJT04oIXBhc3RlYm9hcmRUeXBlLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkp
OwogCkBAIC0zNDQsNiArMzY1LDcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OnNldFBhc3Rl
Ym9hcmRCdWZmZXJGb3JUeXBlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwKIAogdm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OmdldE51bWJlck9mRmlsZXMoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKHVpbnQ2NF90KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dBbHdheXMo
IjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0
ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAgICByZXR1cm4g
Y29tcGxldGlvbkhhbmRsZXIoMCk7CiAKQEAgLTM1Miw2ICszNzQsNyBAQCB2b2lkIFdlYlBhc3Rl
Ym9hcmRQcm94eTo6Z2V0TnVtYmVyT2ZGaWxlcyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IGNvbnN0IFN0cgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6dHlwZXNTYWZlRm9yRE9NVG9S
ZWFkQW5kV3JpdGUoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZMb2dB
bHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVD
S19DT01QTEVUSU9OKCFvcmlnaW4uaXNOdWxsKCksIGNvbXBsZXRpb25IYW5kbGVyKHsgfSkpOwog
CiAgICAgaWYgKCFjYW5BY2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2Fy
ZE5hbWUpKQpAQCAtMzYyLDYgKzM4NSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp0eXBl
c1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3RpCiAKIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUN1c3RvbURhdGEoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBWZWN0b3I8UGFzdGVib2FyZEN1c3RvbURhdGE+JiBkYXRhLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGludDY0X3Qp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBf
X1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3Rl
Ym9hcmROYW1lLmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoMCkpOwogCiAgICAgYXV0byBw
cmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5j
aGFuZ2VDb3VudCgpOwpAQCAtMzcyLDYgKzM5Niw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
Ojp3cml0ZUN1c3RvbURhdGEoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBWZWN0
CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjphbGxQYXN0ZWJvYXJkSXRlbUluZm8oSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2
NF90IGNoYW5nZUNvdW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFZlY3RvcjxQ
YXN0ZWJvYXJkSXRlbUluZm8+PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBXVEZM
b2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgaWYgKCFjYW5B
Y2Nlc3NQYXN0ZWJvYXJkVHlwZXMoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQogICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKIApAQCAtMzgwLDYgKzQwNSw3IEBAIHZv
aWQgV2ViUGFzdGVib2FyZFByb3h5OjphbGxQYXN0ZWJvYXJkSXRlbUluZm8oSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBjb25zCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjppbmZvcm1h
dGlvbkZvckl0ZW1BdEluZGV4KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6ZV90IGlu
ZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2NF90IGNoYW5nZUNvdW50LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4mJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJF
VFRZX0ZVTkNUSU9OX18pOwogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZFR5cGVzKGNvbm5l
Y3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVy
KFdURjo6bnVsbG9wdCk7CiAKQEAgLTM4OCw2ICs0MTQsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQ
cm94eTo6aW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24sCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
eworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAg
ICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmRUeXBlcyhjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFt
ZSkpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcigwKTsKIApAQCAtMzk2LDYgKzQy
Myw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpnZXRQYXN0ZWJvYXJkSXRlbXNDb3VudChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5
OjpyZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBz
aXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nJiYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9G
VU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oIXBhc3RlYm9hcmRUeXBl
LmlzRW1wdHkoKSwgY29tcGxldGlvbkhhbmRsZXIoeyB9KSk7CiAKICAgICBpZiAoIWNhbkFjY2Vz
c1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lKSkKQEAgLTQwNiw2ICs0
MzQsNyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6cmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJk
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgcwogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94
eTo6cmVhZFVSTEZyb21QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc2l6
ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFN0cmluZyYmIHVybCwgU3RyaW5nJiYgdGl0bGUpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsK
ICAgICBpZiAoIWNhbkFjY2Vzc1Bhc3RlYm9hcmREYXRhKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmRO
YW1lKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgeyB9KTsKIApAQCAt
NDE2LDYgKzQ0NSw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5OjpyZWFkVVJMRnJvbVBhc3Rl
Ym9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzaXplCiAKIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5OjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hhcmVkTWVt
b3J5OjpIYW5kbGUmJiwgdWludDY0X3Qgc2l6ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Cisg
ICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgIE1F
U1NBR0VfQ0hFQ0tfQ09NUExFVElPTighcGFzdGVib2FyZFR5cGUuaXNFbXB0eSgpLCBjb21wbGV0
aW9uSGFuZGxlcih7IH0sIDApKTsKIAogICAgIGlmICghY2FuQWNjZXNzUGFzdGVib2FyZERhdGEo
Y29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUpKQpAQCAtNDQ4LDYgKzQ3OCw3IEBAIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5Ojpjb250YWluc1N0cmluZ1NhZmVGb3JET01Ub1JlYWRGb3JUeXBlKElQ
Qzo6Q29ubmVjdGlvbiYKIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlVVJMVG9QYXN0
ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgUGFzdGVib2FyZFVSTCYg
dXJsLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogeworICAgIFdURkxvZ0Fsd2F5cygi
PFdLPjogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLKCFwYXN0
ZWJvYXJkTmFtZS5pc0VtcHR5KCkpOwogCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0g
UGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwpAQCAtNDU3
LDYgKzQ4OCw3IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVVSTFRvUGFzdGVib2Fy
ZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0CiAKIHZvaWQgV2ViUGFzdGVib2Fy
ZFByb3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkV2ViQ29udGVudCYgY29udGVudCwgY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVz
IiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgTUVTU0FHRV9DSEVDSyghcGFzdGVib2FyZE5h
bWUuaXNFbXB0eSgpKTsKIAogICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3Jt
UGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKQEAgLTQ2Niw2ICs0OTgs
NyBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJk
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbgogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
d3JpdGVJbWFnZVRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0
IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFnZSYgcGFzdGVib2FyZEltYWdlLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogJXMiLCBfX1BSRVRU
WV9GVU5DVElPTl9fKTsKICAgICBNRVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkTmFtZS5pc0VtcHR5
KCkpOwogCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJk
KHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwpAQCAtNDc1LDYgKzUwOCw3IEBAIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uCiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVN0cmlu
Z1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSkKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJ
T05fXyk7CiAgICAgTUVTU0FHRV9DSEVDSyghcGFzdGVib2FyZE5hbWUuaXNFbXB0eSgpKTsKICAg
ICBNRVNTQUdFX0NIRUNLKCFwYXN0ZWJvYXJkVHlwZS5pc0VtcHR5KCkgfHwgdGV4dC5pc0VtcHR5
KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCAzMTYwNmE5NTg3ZjUxYjBiM2FlYWFiZjU2YmMzNTk2
YzJkODQwM2YzLi42YTAxN2RiOWFkODhhNjhiYWU5YTZlY2Y4YTgwZDM1ZmFiYTBkYzg5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KQEAgLTg2OCw2ICs4NjgsNyBAQCAtICh2b2lkKXNldFVwSW50ZXJhY3Rpb24K
ICAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aWxsSGlk
ZU1lbnU6KSBuYW1lOlVJTWVudUNvbnRyb2xsZXJXaWxsSGlkZU1lbnVOb3RpZmljYXRpb24gb2Jq
ZWN0Om5pbF07CiAgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rv
cihfZGlkSGlkZU1lbnU6KSBuYW1lOlVJTWVudUNvbnRyb2xsZXJEaWRIaWRlTWVudU5vdGlmaWNh
dGlvbiBvYmplY3Q6bmlsXTsKICAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6
QHNlbGVjdG9yKF9rZXlib2FyZERpZFJlcXVlc3REaXNtaXNzYWw6KSBuYW1lOlVJS2V5Ym9hcmRQ
cml2YXRlRGlkUmVxdWVzdERpc21pc3NhbE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKKyAgICBb
Y2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9wYXN0ZWJvYXJkQ2hh
bmdlZCkgbmFtZTpVSVBhc3RlYm9hcmRDaGFuZ2VkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwog
CiAgICAgX3Nob3dpbmdUZXh0U3R5bGVPcHRpb25zID0gTk87CiAKQEAgLTQyNDcsNyArNDI0OCw5
IEBAIC0gKHZvaWQpcmVxdWVzdEF1dG9jb3JyZWN0aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikoVUlXS0F1dG9jb3JyCiAgICAgX3BhZ2UtPnJlcXVlc3RBdXRvY29ycmVj
dGlvbkNvbnRleHQoKTsKIAogICAgIGlmICh1c2VTeW5jUmVxdWVzdCkgeworICAgICAgICBXVEZM
b2dBbHdheXMoIjxXSz46IFdhaXRpbmcgZm9yIGF1dG9jb3JyZWN0aW9uIGNvbnRleHQuLi4iKTsK
ICAgICAgICAgX3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9uKCktPndhaXRGb3JBbmREaXNwYXRj
aEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkhhbmRsZUF1dG9jb3JyZWN0aW9u
Q29udGV4dD4oX3BhZ2UtPndlYlBhZ2VJRCgpLCAxX3MsIElQQzo6V2FpdEZvck9wdGlvbjo6RGlz
cGF0Y2hJbmNvbWluZ1N5bmNNZXNzYWdlc1doaWxlV2FpdGluZyk7CisgICAgICAgIFdURkxvZ0Fs
d2F5cygiPFdLPjogLi4uZG9uZSB3YWl0aW5nISIpOwogICAgICAgICBbc2VsZiBfY2FuY2VsUGVu
ZGluZ0F1dG9jb3JyZWN0aW9uQ29udGV4dEhhbmRsZXJdOwogICAgIH0KIH0KQEAgLTc2MDYsOSAr
NzYwOSwyMiBAQCAtIChOU0RpY3Rpb25hcnkgKilfYXV0b2ZpbGxDb250ZXh0CiAgICAgcmV0dXJu
IG5pbDsKIH0KIAorLSAodm9pZClfcGFzdGVib2FyZENoYW5nZWQKK3sKKyAgICBOU0xvZyhAIjxX
Sz46ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CisgICAgZm9yIChOU1N0cmluZyAqcyBpbiBb
TlNUaHJlYWQgY2FsbFN0YWNrU3ltYm9sc10pCisgICAgICAgIE5TTG9nKEAiPFdLPjogJUAiLCBz
KTsKKyAgICBOU0xvZyhAIjxXSz46ICIpOworfQorCiAtIChCT09MKXN1cHBvcnRzSW1hZ2VQYXN0
ZQogewotICAgIHJldHVybiBtYXlDb250YWluU2VsZWN0YWJsZVRleHQoX2ZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24uZWxlbWVudFR5cGUpOworICAgIEJPT0wgcmVzdWx0ID0gbWF5Q29udGFpblNl
bGVjdGFibGVUZXh0KF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmVsZW1lbnRUeXBlKTsKKyAg
ICBOU0xvZyhAIjxXSz46ICVzID0+ICVzIiwgX19QUkVUVFlfRlVOQ1RJT05fXywgcmVzdWx0ID8g
IllFUyIgOiAiTk8iKTsKKyAgICBmb3IgKE5TU3RyaW5nICpzIGluIFtOU1RocmVhZCBjYWxsU3Rh
Y2tTeW1ib2xzXSkKKyAgICAgICAgTlNMb2coQCI8V0s+OiAlQCIsIHMpOworICAgIE5TTG9nKEAi
PFdLPjogIik7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogI2lmIFVTRShVSUNPTlRFWFRNRU5V
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBj
Nzg5NzdhODlkM2JhYzYzMTlmMmU0YTRkZWRiYTUxNjc2Nzg3MmYxLi43ZDU4MjM4NGQ5ZmViNmQ4
ZGE4NzFlN2RlOGM2ZTk1MzI0NjU5OTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTkwNyw2ICs1OTA3LDkgQEAgdm9pZCBXZWJQYWdlOjpk
aWRDb21taXRMb2FkKFdlYkZyYW1lKiBmcmFtZSkKICAgICBpZiAoIWZyYW1lLT5pc01haW5GcmFt
ZSgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmcmFtZS0+
Y29yZUZyYW1lKCktPmRvY3VtZW50KCkpCisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogQ29t
bWl0dGVkIGxvYWQ6IDwlcz4iLCBkb2N1bWVudC0+dXJsKCkucGF0aCgpLnRvU3RyaW5nKCkudXRm
OCgpLmRhdGEoKSk7CisKICAgICBpZiAobV9kcmF3aW5nQXJlYSkKICAgICAgICAgbV9kcmF3aW5n
QXJlYS0+c2VuZEVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVJZk5lZWRlZCgpOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggY2JlZTQwNzU1ZTcwNWU1YWI5ZjM4MzJhZDJhNjZlOTQ3ZWYwMDE2ZC4uNGZiYzNiMzk5
NjM4NDY1MjFiNmI2ZjNiZDYwMzZjYTViZmYzYWZiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxNCBAQAor
MjAyMC0wNS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBSRUdSRVNTSU9OOiAocjI2MTgxMj8pOiBbIGlPUyB3azIgUmVsZWFzZSBdIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLmh0bWwgaXMgZmxh
a3kgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEyMjgxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzU1NDkxMj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFV1MgdHJpYWwgcnVuLgorCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjAtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0yMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0yNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTMzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0zNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTM5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy01MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy01NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTguaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy03Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNzAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy04MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODguaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy05Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTk3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy05OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk5Lmh0bWw6IEFkZGVkLgorCiAy
MDIwLTA1LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDbGlwYm9hcmQgQVBJXSBTdXBwb3J0IHJlYWRpbmcgImltYWdlL3BuZyIgb24gQ2xpcGJv
YXJkSXRlbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0xMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQ
QVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEwMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMDAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0xMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTExLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMS5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0xMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEyLmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTEzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTMuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0xNC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTE1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRh
MTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRl
eHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhw
ZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1
c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
VG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5j
b20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9
IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9
IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5n
dGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rvcign
YScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVn
aHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAg
ICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3Rl
QnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1
dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0
b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRi
YzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0x
Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xNy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj
YWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEw
MCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNv
cHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8
L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUs
IEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAg
ICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5
cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlz
dCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNl
bGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAg
ICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRv
biwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAg
ICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5n
dGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4
NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE4Lmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVW
aWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3Qg
cGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAg
ICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAg
ICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20v
Jz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6
ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1l
bnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1l
fWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtj
b3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOwor
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9u
PgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9u
PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5
cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0xOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZl
ZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMTkuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3Qg
Y29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAg
ICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOwor
CisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7Cisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFw
cGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQv
cGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0
ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOwor
ICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxv
YWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0
aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAg
ICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1v
dmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5
PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3Rl
PC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMi5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIwLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMjEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0yMi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTIzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNS5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy0yNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50
eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2
ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI2Lmh0bWwKQEAgLTAs
MCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJs
ZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0
IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAg
ICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsK
KworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoewor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5h
cHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlz
dCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQo
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsK
KyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBs
b2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2Vw
dGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAg
ICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVt
b3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKwor
ICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29w
eTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0
ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUw
ZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjcuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24gewor
ICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAg
ICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7Cisg
ICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFu
c2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0
L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9h
cmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwg
IjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Bs
YWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9
IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJ
bmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246
ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1
dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8
L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVy
ZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJl
IHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMjgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBp
cyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIElu
Yy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3
OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0yOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmND
bGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9h
cmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1
dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisg
ICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
cHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5n
RGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJl
Zj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAg
ICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3Rl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1s
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAi
QXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4
Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkg
eworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0
b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24p
OworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3Qp
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5D
bGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNs
aWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0y
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3
ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMu
bGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJB
cHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1
Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTI5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRh
bDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2Fs
YWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5j
LWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
IDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
Iik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJv
YXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6
ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAg
ICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisg
ICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
Iml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1sw
XTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMi
KTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAg
ICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVm
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChl
eGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0u
bWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5
QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0
ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9
ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJw
YXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2
NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy0zMC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzIuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtMzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy0zMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTMzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zMy5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM0Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtMzUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1
NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5n
ZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcg
RGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9u
IHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1
dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1z
Lmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAi
QXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy0zNi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50
YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2Nh
bGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3lu
Yy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBi
b2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIg
OiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAg
ICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQg
bmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNb
MF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIz
Iik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJl
ZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4
cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25d
Lm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29w
eUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFz
dGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlk
PSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
cGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZk
YTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9h
cmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRl
biB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRv
cCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBi
b3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0
ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTM3Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4
cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxl
PgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0
ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4
dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAor
ICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKwor
ICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMg
PSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0g
PSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVu
Z3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJs
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOwor
ICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3Io
J2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1
Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAg
ICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0
ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxi
dXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0
dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0
YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xp
Y2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAz
CitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0
PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1z
Y2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBj
b3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxl
PC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxl
LCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVl
IH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50
eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxp
c3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7Cisg
ICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0
b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAg
ICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAg
ICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYz
YjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy0zOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVu
Z3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTM5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy0zOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4
ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy0zOS5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxl
Vmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBp
bml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0
dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0
IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAg
ICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29t
Lyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIg
OiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9u
Y2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAg
ICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3Vt
ZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Yy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFt
ZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBb
Y29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRv
bj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRv
bj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBl
cy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDAuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00MS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Mi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTQyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNDMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy00NC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ1Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2
M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlw
Ym9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVh
bGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5k
IHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxl
bmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVk
ODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDYuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVl
IF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25z
dCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAg
ICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAg
ICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNv
bS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4i
IDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBv
bmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0g
YXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAg
ICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1
bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5h
bWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAg
W2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0
b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0
b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy00Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8g
Z2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJv
YXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0u
dHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy00Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4
NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00Ny5odG1sCkBAIC0w
LDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFi
bGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25z
dCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAg
ICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7
CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cu
YXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxp
c3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFk
KCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOwor
ICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAg
IHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7
CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQg
bG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNl
cHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJl
bW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisK
KyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0
PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNv
cHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFz
dGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy00OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUg
dXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJ
cy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhl
IHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BB
U1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BB
U1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1
MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ4Lmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+
CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsK
KyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAg
ICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOwor
ICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJh
bnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRw
czovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4
dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJv
YXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIs
ICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9w
bGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2Mg
PSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwg
SW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIs
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAg
ICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBi
dXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAg
ICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhl
cmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVy
ZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTQ5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0
YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgp
IGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFu
c2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0
ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8g
cGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGgg
aXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJ
bmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVj
NzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNDkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJv
YXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
dXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKwor
ICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2lu
Z0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhy
ZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAg
ICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAg
ICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMu
bGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRt
bCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0Iiwg
IkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBl
eGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0
dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24p
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9u
KTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0
KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+
Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5D
bGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4
MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxl
bmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBw
bGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9j
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTUwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTEuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy01Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Mi5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTUzLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTQuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01NS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgx
NGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUo
KSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJh
bnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3Jp
dGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRv
IHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3Ro
IGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwg
SW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2Zl
Yzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTU2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBi
b2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2Vk
IHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFz
dGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisK
KyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNp
bmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBo
cmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFz
dGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1z
Lmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRl
eHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAg
ICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0
bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
ICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRp
b24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxs
eSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1
dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9u
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRv
bik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVz
dCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHki
PkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+
Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZm
NTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0u
Z2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5n
IERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRv
biB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBi
dXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVt
cy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMg
IkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNTcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVu
dGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNj
YWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5
bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlw
Ym9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwi
IDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAg
ICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAg
ICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0
IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1z
WzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAi
MyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2Fp
dCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhy
ZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5l
eHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9u
XS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNv
cHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBh
c3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9
InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtNTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRm
ZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJv
YXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0
ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0
b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUg
Ym90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1Mg
dGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy01OC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBl
eHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgor
ICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEs
IHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3Jp
dGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwK
KyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4i
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisK
KyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMg
KCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1z
ID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVt
ID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxl
bmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
fSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENh
dWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAg
ICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFz
dGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8
YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy01OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy01OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNl
ZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRh
dGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNs
aWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMg
MworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTU5Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFE
T0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAg
Y29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAg
ICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBs
ZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBs
ZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1
ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0u
dHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxv
YWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1s
aXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20v
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOwor
ICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0
dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAg
ICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAg
ICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNi
MGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0
aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy02MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy02MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYxLmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTYyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjIu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy02My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTY0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQz
ZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy02Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBk
YXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNs
aWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBj
bGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlz
IDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczov
L3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ni5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJ
dGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1
c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBi
dXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0
b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3Rl
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAg
IGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAg
ICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBw
bGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBw
bGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
LnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBs
b2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAg
ICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmkt
bGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVy
eVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsK
KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1
dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAg
ICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAg
ICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0
NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xp
cGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51
YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFu
ZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5s
ZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRw
czovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1
ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY3Lmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGli
bGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgs
IGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENs
aXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3
cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0
aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sg
dGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlC
dXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29u
c3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAg
ICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAg
ICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAg
ICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5j
b20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWlu
IiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsg
b25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9
IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0
ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9j
dW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5h
cHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5u
YW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAg
IFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkp
OworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0
dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0
dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTY4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRv
IGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0
ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVi
b2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVt
LnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwg
aXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2
ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjguaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAg
ICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2Fy
ZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHks
IGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhl
biBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29u
c3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAg
ICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIp
OworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3
LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1s
aXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVh
ZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikp
OworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdl
dFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0
IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhj
ZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAg
ICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5y
ZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQor
CisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBj
b3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBh
c3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtNjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNjktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJl
IHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQ
SXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRo
ZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQ
QVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQ
QVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy02OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0
NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy02OS5o
dG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7
CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQg
Y2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQs
IGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAg
ICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsK
KyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRy
YW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0
cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRl
eHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAg
ICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBi
b2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgi
LCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
cGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0
IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9j
ID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUs
IEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwi
LCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3
dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlv
bjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAg
ICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4g
YnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAg
ICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAg
IDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBo
ZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhl
cmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRi
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlz
IDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5j
LiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlT
ZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtNzAuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy03MS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTcyLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03My5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
NzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy03NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy03NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc1Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBi
ZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBB
UElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0
aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQor
UEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgor
UEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2Zm
NDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzYu
aHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJv
YXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24g
eworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0
IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3Qg
bWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJk
LCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAg
ICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7
CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFU
cmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0
dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3Ro
IiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAg
ICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2Fp
dCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRv
YyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxl
LCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJs
IiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93
d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRp
b246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+
IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sg
aGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBo
ZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4
MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBl
KCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRy
YW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdy
aXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0
byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0
aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUs
IEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNm
ZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy03Ny5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlw
Ym9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNl
ZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4g
VG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBh
c3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOwor
CisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVz
aW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEg
aHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAg
ICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBh
c3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVt
cy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRU
ZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9o
dG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQi
LCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJo
dHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVk
IGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChi
dXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0p
OworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRv
bik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0
b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRl
c3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5
Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUi
PkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNp
Yy03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVm
ZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVt
LmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2lu
ZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0
b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20g
YnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRl
bXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlz
ICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFT
UyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTc4Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1l
bnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1z
Y2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Fz
eW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNh
biBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2Zl
ciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0
byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFz
dGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xp
cGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1s
IiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAg
ICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAg
ICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2Fp
dCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVt
c1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwg
IjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdh
aXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAg
ICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBl
KCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5o
cmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVu
ZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRv
bl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChj
b3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChw
YXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24g
aWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlk
PSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10
eXBlLWJhc2ljLTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVk
ZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBi
b2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0
dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUg
dG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhl
IGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNT
IHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWl0ZW0tZ2V0LXR5cGUtYmFzaWMtNzkuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUg
ZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
LCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRU
eXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0
YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRv
IHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRv
biB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdy
aXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIs
CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMu
IgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVt
cyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5s
ZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1
cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7
CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3Rv
cignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBD
YXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAg
ICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBh
c3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxi
dXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2Vk
YmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMK
K1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgwLmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODEuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Mi5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTgz
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtODQuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy04NS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1
ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlw
Ym9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3Jp
dHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhl
IHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRo
ZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFT
UyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5j
b20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTg2Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0
VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERh
dGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0
byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0
b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3
cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAi
dGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5j
LiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsK
KworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRl
bXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMu
bGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0
KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAg
dXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0Iikp
OworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRl
bS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChg
Q2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAg
ICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBw
YXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
RWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8
YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0
M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQg
ZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBj
bGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4g
Y2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBp
cyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04Ny5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODcuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJk
SXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4g
dXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3Ag
YnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90
dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0
ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAg
ICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAg
ICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFw
cGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFw
cGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0
cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQg
bG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJp
LWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChh
d2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNv
bS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVl
cnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7
CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlC
dXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+Cisg
ICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+Cisg
ICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMt
ODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIx
NDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNs
aXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFu
dWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBh
bmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlz
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1i
YXNpYy04OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYw
NWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OC5odG1sCkBAIC0wLDAgKzEs
NjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhp
YmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRy
dWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBD
bGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEg
d3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sg
dGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNr
IHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNv
bnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAg
ICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDog
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFp
biIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7
IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAg
ICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQg
PSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAg
ICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgi
dGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERv
Y3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cu
YXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7
CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24u
bmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAg
ICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAg
ICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAg
IDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1
dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlw
ZS1iYXNpYy04OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy04OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0
byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8g
dGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3Rl
Ym9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRl
bS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJs
IGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtODkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdl
dC10eXBlLWJhc2ljLTg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMy
Njg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTg5Lmh0bWwKQEAg
LTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0
PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9h
cmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5
LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRo
ZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNv
bnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAg
ICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUi
KTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgp
ID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIo
eworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3
dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmkt
bGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0
ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJl
YWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIp
KTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5n
ZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2Fp
dCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRw
czovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxl
LmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4
Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAg
ICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24u
cmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0K
KworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8g
Y29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBw
YXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVt
LWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFT
UyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFT
UyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9y
KCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3
ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJ
RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBi
b2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFs
bHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQg
dGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAg
Y29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAg
ICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0
ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zl
cih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8v
d3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3Vy
aS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEi
KTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWlu
IikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVt
LmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3
YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMu
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7
ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRv
bi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAg
fQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0
byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRv
IHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2Fu
IGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVy
IEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRv
IHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAx
CitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4i
CitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2Vs
ZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEz
ZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05
MC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlw
Ym9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQt
aGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBn
ZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVz
dCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9h
cmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAg
ICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHki
KTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0
YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0n
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNs
aXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAg
ICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRl
eHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3
YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBw
bGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1
cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczov
L3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2Vw
dGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24g
PT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7Cisg
ICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOwor
ICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGlj
ayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNr
IGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5
ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5
cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRh
VHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8g
d3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9u
IHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVu
Z3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBs
ZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2Mu
cXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1
M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBl
LWJhc2ljLTkxLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpB
c3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hh
cnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJs
ZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNs
aXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwv
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1
c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElz
LiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUg
cGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7
CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJk
VXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8
YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAg
ICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAg
cGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZp
Z2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0
VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9h
ZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAg
ICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0
L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4
dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwg
Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNl
cHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFw
KGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUg
fSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0
dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1
dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
VGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNv
cHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0
ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJv
YXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2
NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9h
c3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0
ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVz
aW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1
dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRv
bSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBp
dGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQg
aXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQ
QVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29t
LyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0t
Z2V0LXR5cGUtYmFzaWMtOTIuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJp
bWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
YXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkg
Y2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5z
ZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRl
IHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBw
YXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9D
bGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0
bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAg
ICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3
YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0
ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgi
LCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQg
aXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBh
d2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAg
ICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5
cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScp
LmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQg
dW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0
dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25j
ZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRv
biBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24g
aWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2
NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xp
cGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdy
aXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRo
ZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0
aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BB
U1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUu
Y29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5h
cHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05My5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1
ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1s
PgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxl
PTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdl
dFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBE
YXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24g
dG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0
dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
d3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAg
InRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+
IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFw
cGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIElu
Yy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7
CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5
bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0
ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBp
dGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVz
Lmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4
dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAg
IHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIp
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0
ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVj
dG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
YENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAg
ICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwg
cGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAg
ICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAg
PGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAg
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEz
NDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJh
c2ljLTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJk
IGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwg
Y2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVu
IGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgaXRlbS50eXBlcy5sZW5ndGgg
aXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIKK1BBU1MgdXJsIGlzICJodHRwczovL3d3
dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYgaXMgImh0dHBz
Oi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNmZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk0Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2Fy
ZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVu
IHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9w
IGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJv
dHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAgICAgICAgIGNvbnN0IGNvcHlCdXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIpOworICAgICAgICAgICAgY29uc3QgcGFz
dGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzdGUiKTsKKworICAgICAgICAg
ICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAg
ICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRhVHJhbnNmZXIoeworICAgICAgICAgICAg
ICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdodHRwczovL3d3dy5hcHBsZS5jb20vJz5B
cHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAidGV4dC91cmktbGlzdCIgOiAiaHR0cHM6
Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiA6ICJB
cHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHsgb25jZTog
dHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0
ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGF3YWl0
IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9wbGFpbiIpKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3Vy
aS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQo
YXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBsZSwgSW5jLiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVybCIsICJodHRwczovL3d3dy5hcHBsZS5j
b20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1
ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAg
ICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWAp
OworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICAgICAgICAgIFtjb3B5
QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9PiBidXR0b24ucmVtb3ZlKCkpOworICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7CisgICAgICAgIH0KKworICAgICAgICBhZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNrIGhlcmUgdG8gY29weTwvYnV0dG9uPgor
ICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sgaGVyZSB0byBwYXN0ZTwvYnV0dG9uPgor
ICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2lj
LTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTllODE0YmY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0
LXR5cGUtYmFzaWMtOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBj
bGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1h
bnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2FyZCwg
YW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5ndGggaXMgMQorUEFTUyBpdGVtLnR5cGVz
Lmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxlLCBJbmMuIgorUEFTUyB1cmwgaXMgImh0
dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiBp
cyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUzZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2
MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1j
bGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTUuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xpcGJvYXJkLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBidXR0b24geworICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
Q2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRh
IHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNr
IHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGlj
ayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsKKworICAgICAgICAgICAgY29uc3QgY29w
eUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5Iik7CisgICAgICAgICAgICBj
b25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXN0ZSIpOworCisg
ICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRVc2luZ0RhdGFUcmFuc2Zlcih7CisgICAg
ICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxhIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxl
LmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6
ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvcGxh
aW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwg
eyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBwYXN0ZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbXMubGVuZ3RoIiwgIjEiKTsKKyAgICAg
ICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICB0ZXh0
ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3BsYWluIikpOworICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUo
InRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvYyA9IGF3YWl0IGxvYWRE
b2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvaHRtbCIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgIkFwcGxlLCBJbmMuIik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidXJsIiwgImh0dHBzOi8vd3d3
LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIp
OworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3RlZCBleGNlcHRpb246ICR7ZXhjZXB0aW9u
Lm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgICAgICAg
ICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAoYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUo
KSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0b24pOworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0dG9uKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29weSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9i
dXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3RlIj5DbGljayBoZXJlIHRvIHBhc3RlPC9i
dXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5
cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTYtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQt
aXRlbS1nZXQtdHlwZS1iYXNpYy05Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQg
dG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRv
IHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0
ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0
ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBpcyAiQXBwbGUsIEluYy4iCitQQVNTIHVy
bCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2En
KS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgz
MjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ni5odG1sCkBA
IC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmltZW50YWw6QXN5bmNDbGlwYm9hcmRBUElF
bmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9hc3luYy1jbGlwYm9hcmQtaGVscGVycy5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJ1dHRvbiB7CisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4gYmUgdXNlZCB0byBnZXQgY2xpcGJv
YXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0
aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3RlLiIpOworCisgICAgICAgICAgICBj
b25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHkiKTsKKyAgICAg
ICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3Rl
Iik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0NsaXBib2FyZFVzaW5nRGF0YVRyYW5zZmVy
KHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAgICAgICAgICAgICAgICAgInRleHQvdXJp
LWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAgICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC5y
ZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIp
OworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNbMF07CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIsICIzIik7CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvcGxhaW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0u
Z2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gYXdh
aXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC9odG1sIikpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHQiLCAiQXBwbGUsIEluYy4i
KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJykuaHJlZiIsICJodHRwczovL3d3dy5hcHBs
ZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtl
eGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAg
ICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0b25dLm1hcChidXR0b24gPT4gYnV0dG9u
LnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoY29weUJ1dHRvbik7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQocGFzdGVCdXR0b24pOworICAgICAgICB9
CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blRlc3QpOworICAgIDwvc2Ny
aXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9uIGlkPSJjb3B5Ij5DbGljayBoZXJlIHRv
IGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8g
cGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRl
bS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjE0NjNiMGEzNDNlZGJjNTY1ZGZkYTE2NjVmZjU3ODE5ZTgxNGJmNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBjYW4g
YmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNmZXIg
QVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUgdG8g
dGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBhc3Rl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaXRlbXMubGVuZ3RoIGlzIDEK
K1BBU1MgaXRlbS50eXBlcy5sZW5ndGggaXMgMworUEFTUyB0ZXh0IGlzICJBcHBsZSwgSW5jLiIK
K1BBU1MgdXJsIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20vIgorUEFTUyBkb2MucXVlcnlTZWxl
Y3RvcignYScpLmhyZWYgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTM1Y2M1M2ZlYzc5YTNm
ZjQ1MGQ3ODMyNjg2ZWVlNjA1ZDg4NGE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk3
Lmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIGV4cGVyaW1lbnRhbDpBc3luY0NsaXBi
b2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
OCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2FzeW5jLWNsaXBib2FyZC1o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYnV0dG9u
IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3lu
YyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlwZSgpIGNhbiBiZSB1c2VkIHRvIGdl
dCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFUcmFuc2ZlciBBUElzLiBUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3cml0ZSB0byB0aGUgcGFzdGVib2Fy
ZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24gdG8gcGFzdGUuIik7CisKKyAgICAg
ICAgICAgIGNvbnN0IGNvcHlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29weSIp
OworICAgICAgICAgICAgY29uc3QgcGFzdGVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFzdGUiKTsKKworICAgICAgICAgICAgY29weUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkVXNpbmdEYXRh
VHJhbnNmZXIoeworICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiA6ICI8YSBocmVmPSdo
dHRwczovL3d3dy5hcHBsZS5jb20vJz5BcHBsZTwvYT4iLAorICAgICAgICAgICAgICAgICAgICAi
dGV4dC91cmktbGlzdCIgOiAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3BsYWluIiA6ICJBcHBsZSwgSW5jLiIKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgICAgICAgICAgcGFzdGVCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW1zLmxlbmd0
aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1swXTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoIml0ZW0udHlwZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCA9IGF3YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4
dC9wbGFpbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgbG9hZFRleHQoYXdh
aXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L3VyaS1saXN0IikpOworICAgICAgICAgICAgICAgICAgICBk
b2MgPSBhd2FpdCBsb2FkRG9jdW1lbnQoYXdhaXQgaXRlbS5nZXRUeXBlKCJ0ZXh0L2h0bWwiKSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsICJBcHBs
ZSwgSW5jLiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVy
bCIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIiwgImh0dHBzOi8v
d3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgQ2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAke2V4Y2VwdGlvbi5uYW1lfWApOworICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Cisg
ICAgICAgICAgICAgICAgICAgIFtjb3B5QnV0dG9uLCBwYXN0ZUJ1dHRvbl0ubWFwKGJ1dHRvbiA9
PiBidXR0b24ucmVtb3ZlKCkpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChjb3B5QnV0dG9uKTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChwYXN0ZUJ1dHRvbik7Cisg
ICAgICAgIH0KKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxidXR0b24gaWQ9ImNvcHkiPkNsaWNr
IGhlcmUgdG8gY29weTwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJwYXN0ZSI+Q2xpY2sg
aGVyZSB0byBwYXN0ZTwvYnV0dG9uPgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBi
b2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLTk4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ2M2IwYTM0M2VkYmM1NjVkZmRhMTY2NWZmNTc4MTll
ODE0YmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IENsaXBib2FyZEl0ZW0uZ2V0VHlw
ZSgpIGNhbiBiZSB1c2VkIHRvIGdldCBjbGlwYm9hcmQgZGF0YSB3cml0dGVuIHVzaW5nIERhdGFU
cmFuc2ZlciBBUElzLiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgdG9wIGJ1dHRvbiB0byB3
cml0ZSB0byB0aGUgcGFzdGVib2FyZCwgYW5kIHRoZW4gY2xpY2sgdGhlIGJvdHRvbSBidXR0b24g
dG8gcGFzdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBpdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBpdGVtLnR5cGVzLmxlbmd0aCBpcyAzCitQQVNTIHRleHQgaXMgIkFwcGxl
LCBJbmMuIgorUEFTUyB1cmwgaXMgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iCitQQVNTIGRvYy5x
dWVyeVNlbGVjdG9yKCdhJykuaHJlZiBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQt
dHlwZS1iYXNpYy05OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzVjYzUz
ZmVjNzlhM2ZmNDUwZDc4MzI2ODZlZWU2MDVkODg0YTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUt
YmFzaWMtOTguaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgZXhwZXJpbWVudGFsOkFz
eW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxl
PW5vIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvYXN5bmMtY2xp
cGJvYXJkLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBidXR0b24geworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9o
ZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRlbS5nZXRUeXBlKCkgY2FuIGJlIHVz
ZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNpbmcgRGF0YVRyYW5zZmVyIEFQSXMu
IFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0dG9uIHRvIHdyaXRlIHRvIHRoZSBw
YXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9tIGJ1dHRvbiB0byBwYXN0ZS4iKTsK
KworICAgICAgICAgICAgY29uc3QgY29weUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb3B5Iik7CisgICAgICAgICAgICBjb25zdCBwYXN0ZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJwYXN0ZSIpOworCisgICAgICAgICAgICBjb3B5QnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmRV
c2luZ0RhdGFUcmFuc2Zlcih7CisgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiIDogIjxh
IGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPkFwcGxlPC9hPiIsCisgICAgICAgICAgICAg
ICAgICAgICJ0ZXh0L3VyaS1saXN0IiA6ICJodHRwczovL3d3dy5hcHBsZS5jb20vIiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogIkFwcGxlLCBJbmMuIgorICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgICAgICAgICBw
YXN0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGF3YWl0IG5hdmln
YXRvci5jbGlwYm9hcmQucmVhZCgpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRl
bXMubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiaXRlbS50eXBlcy5sZW5ndGgiLCAiMyIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gYXdhaXQgbG9hZFRleHQoYXdhaXQgaXRlbS5nZXRU
eXBlKCJ0ZXh0L3BsYWluIikpOworICAgICAgICAgICAgICAgICAgICB1cmwgPSBhd2FpdCBsb2Fk
VGV4dChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQvdXJpLWxpc3QiKSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvYyA9IGF3YWl0IGxvYWREb2N1bWVudChhd2FpdCBpdGVtLmdldFR5cGUoInRleHQv
aHRtbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0
IiwgIkFwcGxlLCBJbmMuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidXJsIiwgImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2MucXVlcnlTZWxlY3RvcignYScpLmhyZWYiLCAi
aHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2Vw
dGlvbikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGBDYXVnaHQgdW5leHBlY3Rl
ZCBleGNlcHRpb246ICR7ZXhjZXB0aW9uLm5hbWV9YCk7CisgICAgICAgICAgICAgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgICAgICAgICAgICAgW2NvcHlCdXR0b24sIHBhc3RlQnV0dG9uXS5tYXAo
YnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9
KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGNvcHlCdXR0
b24pOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHBhc3RlQnV0
dG9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5U
ZXN0KTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGJ1dHRvbiBpZD0iY29w
eSI+Q2xpY2sgaGVyZSB0byBjb3B5PC9idXR0b24+CisgICAgICAgIDxidXR0b24gaWQ9InBhc3Rl
Ij5DbGljayBoZXJlIHRvIHBhc3RlPC9idXR0b24+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMtOTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFz
aWMtOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNDYzYjBhMzQzZWRiYzU2NWRmZGExNjY1
ZmY1NzgxOWU4MTRiZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgQ2xpcGJvYXJkSXRl
bS5nZXRUeXBlKCkgY2FuIGJlIHVzZWQgdG8gZ2V0IGNsaXBib2FyZCBkYXRhIHdyaXR0ZW4gdXNp
bmcgRGF0YVRyYW5zZmVyIEFQSXMuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrIHRoZSB0b3AgYnV0
dG9uIHRvIHdyaXRlIHRvIHRoZSBwYXN0ZWJvYXJkLCBhbmQgdGhlbiBjbGljayB0aGUgYm90dG9t
IGJ1dHRvbiB0byBwYXN0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGl0
ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGl0ZW0udHlwZXMubGVuZ3RoIGlzIDMKK1BBU1MgdGV4dCBp
cyAiQXBwbGUsIEluYy4iCitQQVNTIHVybCBpcyAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIKK1BB
U1MgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5ocmVmIGlzICJodHRwczovL3d3dy5hcHBsZS5jb20v
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1p
dGVtLWdldC10eXBlLWJhc2ljLTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy05OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzNWNjNTNmZWM3OWEzZmY0NTBkNzgzMjY4NmVlZTYwNWQ4ODRhODcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1n
ZXQtdHlwZS1iYXNpYy05OS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBleHBlcmlt
ZW50YWw6QXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9h
c3luYy1jbGlwYm9hcmQtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAg
ICAgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBDbGlwYm9hcmRJdGVtLmdldFR5cGUoKSBj
YW4gYmUgdXNlZCB0byBnZXQgY2xpcGJvYXJkIGRhdGEgd3JpdHRlbiB1c2luZyBEYXRhVHJhbnNm
ZXIgQVBJcy4gVG8gdGVzdCBtYW51YWxseSwgY2xpY2sgdGhlIHRvcCBidXR0b24gdG8gd3JpdGUg
dG8gdGhlIHBhc3RlYm9hcmQsIGFuZCB0aGVuIGNsaWNrIHRoZSBib3R0b20gYnV0dG9uIHRvIHBh
c3RlLiIpOworCisgICAgICAgICAgICBjb25zdCBjb3B5QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvcHkiKTsKKyAgICAgICAgICAgIGNvbnN0IHBhc3RlQnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInBhc3RlIik7CisKKyAgICAgICAgICAgIGNvcHlCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgd3JpdGVUb0Ns
aXBib2FyZFVzaW5nRGF0YVRyYW5zZmVyKHsKKyAgICAgICAgICAgICAgICAgICAgInRleHQvaHRt
bCIgOiAiPGEgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+QXBwbGU8L2E+IiwKKyAgICAg
ICAgICAgICAgICAgICAgInRleHQvdXJpLWxpc3QiIDogImh0dHBzOi8vd3d3LmFwcGxlLmNvbS8i
LAorICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIgOiAiQXBwbGUsIEluYy4iCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICAg
ICAgICAgIHBhc3RlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGl0ZW1zID0gYXdh
aXQgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCk7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpdGVtcy5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRl
bXNbMF07CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpdGVtLnR5cGVzLmxlbmd0aCIs
ICIzIik7CisgICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBsb2FkVGV4dChhd2FpdCBp
dGVtLmdldFR5cGUoInRleHQvcGxhaW4iKSk7CisgICAgICAgICAgICAgICAgICAgIHVybCA9IGF3
YWl0IGxvYWRUZXh0KGF3YWl0IGl0ZW0uZ2V0VHlwZSgidGV4dC91cmktbGlzdCIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jID0gYXdhaXQgbG9hZERvY3VtZW50KGF3YWl0IGl0ZW0uZ2V0VHlw
ZSgidGV4dC9odG1sIikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRleHQiLCAiQXBwbGUsIEluYy4iKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ1cmwiLCAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvYy5xdWVyeVNlbGVjdG9yKCdhJyku
aHJlZiIsICJodHRwczovL3d3dy5hcHBsZS5jb20vIik7CisgICAgICAgICAgICAgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYENhdWdodCB1
bmV4cGVjdGVkIGV4Y2VwdGlvbjogJHtleGNlcHRpb24ubmFtZX1gKTsKKyAgICAgICAgICAgICAg
ICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgICAgICBbY29weUJ1dHRvbiwgcGFzdGVCdXR0
b25dLm1hcChidXR0b24gPT4gYnV0dG9uLnJlbW92ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgeyBvbmNl
OiB0cnVlIH0pOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
Y29weUJ1dHRvbik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
cGFzdGVCdXR0b24pOworICAgICAgICB9CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIHJ1blRlc3QpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8YnV0dG9u
IGlkPSJjb3B5Ij5DbGljayBoZXJlIHRvIGNvcHk8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBp
ZD0icGFzdGUiPkNsaWNrIGhlcmUgdG8gcGFzdGU8L2J1dHRvbj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90
aGlzLXRlc3Qtd2lsbC1mYWlsLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90aGlzLXRlc3Qtd2lsbC1mYWlsLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ5M2I2N2Jh
OWEzN2I3YjkzZGQxZTNmMjYzMjFkYTNlZTYzZGRmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RoaXMtdGVzdC13aWxsLWZhaWwtZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDIgQEAKK2FzZGYKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
dGhpcy10ZXN0LXdpbGwtZmFpbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdGhpcy10
ZXN0LXdpbGwtZmFpbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjNTE4ZjBkMDlhNGFlNTI5NDhiYjgxZGE0
NmRhYWM4M2YzMGUyOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90aGlzLXRlc3Qtd2lsbC1mYWlsLmh0bWwKQEAgLTAsMCArMSBAQAorZm9yY2UgRVdTIHRvIGZh
aWwgc28gSSBjYW4gc2VlIGZsYWt5IHRlc3QgcmVzdWx0cywgYnkgYWRkaW5nIHRoaXMgYm9ndXMg
dGVzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2sy
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUxNGFhZTEzOTY4MzZkZWRkOTU5OGRiZTIwN2UzMDNi
YzViZDE3NzcuLjc3MjM1MjJmMzM1OWRlMzVhMDY2ZGMxNTk1M2YxYTY3YzFhYTNmOTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtOTIsNSArOTIsMyBAQCB3ZWJraXQub3JnL2IvMjA4MDM2IGh0dHAvd3B0
L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcHV0LWtleXMuaHR0cHMuYW55Lndvcmtlci5odG1sCiB3ZWJr
aXQub3JnL2IvMjA5MjM0IFsgUmVsZWFzZSBdIHBsYXRmb3JtL2lvcy9pb3MvcGx1Z2luL3lvdXR1
YmUtZmxhc2gtcGx1Z2luLWlmcmFtZS1uby1oZWlnaHQtb3Itd2lkdGguaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNo
ZS1wdXQta2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLXdlYmtpdC5vcmcv
Yi8yMTIyODEgWyBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0
ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400548</attachid>
            <date>2020-05-28 22:12:50 -0700</date>
            <delta_ts>2020-05-28 22:41:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212281-20200528221250.patch</filename>
            <type>text/plain</type>
            <size>8243</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE3OWFiNGRiOTQwMGYzNzNjOTM0Nzc5
MTJkMTJhYjgxYjNhNDY4YzUuLjNmMDUyNzJlNzczMjAwNTc3ZjJiNTY3MWNkYmM0ODY4ZmNhMmFh
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDUtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2MTgxMik6IGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLmh0bWwgaXMg
Zmxha3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MjI4MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM1NTQ5MTI+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGBIQVZFKClgIGRlZmlu
ZS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKwogMjAyMC0wNS0yNyAgTWljaGFl
bCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICAtV2RlcHJlY2F0
ZWQtY29weSBjYXVzZWQgYnkgQml0bWFwIGNvcHkgYXNzaWdubWVudCBvcGVyYXRvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBiZjVhYjI1NGI1ZDE3MDQ3ODgwMmI1MjM5OTQ1ODk1NmVhM2YwNDUwLi4zMDhhYTkyZDE5
ZTI4Mzc0ZDE0MjdjNTNjNDAyNzQ4MDIzOWMxYzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIwLTA1LTI4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04gKHIyNjE4MTIpOiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlw
Ym9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy5odG1sIGlzIGZsYWt5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIERlY2xhcmUgYC1kZWxlZ2F0ZVN1cHBvcnRzSW1hZ2VQYXN0ZWAgb24gVUlLZXli
b2FyZEltcGwuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmg6CisKIDIw
MjAtMDUtMjcgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYwODQwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA2
ODAzOTlkODg5ZTZjYmU5Nzk0ZmE2NzVjM2MwMGJjMWJlNjQwN2I5Li4zMTdiZGU3MmFmYzJjZmNl
MjFiNmU4ZmFiYjM1ZGQwNWQ3MGY0ZDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtNjM0LDMg
KzYzNCw3IEBACiAjaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTYwMCkKICNkZWZpbmUgSEFWRV9ESVNQTEFZ
X0xBWUVSX0JJUExBTkFSX1NVUFBPUlQgMQogI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpICYm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMAorI2RlZmluZSBIQVZF
X05PTkRFU1RSVUNUSVZFX0lNQUdFX1BBU1RFX1NVUFBPUlRfUVVFUlkgMQorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaCBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCmluZGV4IGMxYWQ2YjEwMzA0NTQw
MTAyMmU4NGJmZmVjM2ZlMjc3ZTYyOWZhMTYuLjJkNDNiYWViZjhlMTI2YmU5ZjllYTlhMWZjYmYz
M2U3ZGI2ZjlkZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9V
SUtpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5o
CkBAIC0xMzEyLDYgKzEzMTIsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1VJQ29u
dGV4dE1lbnVMYXlvdXQpIHsKIC0gKEJPT0wpaGFuZGxlS2V5QXBwQ29tbWFuZEZvckN1cnJlbnRF
dmVudDsKIC0gKEJPT0wpaGFuZGxlS2V5SW5wdXRNZXRob2RDb21tYW5kRm9yQ3VycmVudEV2ZW50
OwogLSAoQk9PTClpc0NhbGxpbmdJbnB1dERlbGVnYXRlOworLSAoQk9PTClkZWxlZ2F0ZVN1cHBv
cnRzSW1hZ2VQYXN0ZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlLZXlib2Fy
ZElucHV0TW9kZSAqY3VycmVudElucHV0TW9kZUluUHJlZmVyZW5jZTsKIEBlbmQKIApkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGMzNzUzZjUwMWNj
ZjEzYjFmMzllZDQ1MDAwODMyMzMwNmUyM2Q0MzAuLmEyN2Y1ZTVlZmNhNjZlNzY2Y2I5MWFiNWY2
YTY3NTExYTMxY2U4NTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMC0wNS0yOCAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjYxODEyKTogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBp
cyBmbGFreQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEyMjgxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzU1NDkxMj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPbiBzb21lIHNoaXBwaW5nIHZlcnNp
b25zIG9mIGlPUywgcmV0dXJuaW5nIGBOT2AgZnJvbSBgLXN1cHBvcnRzSW1hZ2VQYXN0ZWAgc3Rp
bGwgcmVzdWx0cyBpbiBVSUtpdCBrZXlib2FyZAorICAgICAgICBjb2RlIHBpbm5pbmcgdGVtcG9y
YXJ5IGl0ZW1zIHRvIHRoZSBnZW5lcmFsIHBhc3RlYm9hcmQsIHdoaWNoIGluY3JlbWVudHMgdGhl
IGNoYW5nZSBjb3VudCBvZiB0aGUgcGFzdGVib2FyZC4KKyAgICAgICAgSWYgdGhpcyBoYXBwZW5z
IGluIHRoZSBtaWRkbGUgb2YgYW4gYXR0ZW1wdCB0byByZWFkIGZyb20gdGhlIHBhc3RlYm9hcmQs
IHdlIGVuZCB1cCBmYWxzZWx5IGRlbnlpbmcgYWNjZXNzIHRvIHRoZQorICAgICAgICBjb250ZW50
cyBvZiB0aGUgcGFzdGVib2FyZCwgc2luY2Ugd2UgYmVsaWV2ZSB0aGF0IHRoZSBjb250ZW50cyBv
ZiB0aGUgcGFzdGVib2FyZCBoYXZlIGNoYW5nZWQuCisKKyAgICAgICAgVGhpcyBoYXMgdGhlIHBv
dGVudGlhbCB0byBhZmZlY3QgYW55IHRlc3QgdGhhdCBhdHRlbXB0cyB0byByZWFkIGZyb20gdGhl
IHBhc3RlYm9hcmQgb24gaU9TLCB0aG91Z2ggdGhlIHRpdHVsYXIKKyAgICAgICAgbGF5b3V0IHRl
c3Qgc2VlbXMgdG8gdHJpZ2dlciB0aGUgYnVnIG1vcmUgZnJlcXVlbnRseSB0aGFuIG90aGVyIHRl
c3RzLgorCisgICAgICAgIFRoaXMgaXRlbSBwaW5uaW5nIHdhcyBhZGRlZCBpbiBzdXBwb3J0IG9m
IGJlaW5nIGFibGUgdG8gaW5zZXJ0IE1lbW9qaXMgZnJvbSB0aGUgc29mdHdhcmUga2V5Ym9hcmQs
IGFuZCB3b3JrcyBieQorICAgICAgICBwcmV0ZW5kaW5nIHRvIGNvcHkgYSB0ZW1wb3JhcnkgUE5H
IGltYWdlLCBhc2tpbmcgdGhlIGRlbGVnYXRlIHdoZXRoZXIgaXQgYC1jYW5QZXJmb3JtQWN0aW9u
OndpdGhTZW5kZXI6YCwgYW5kCisgICAgICAgIHRoZW4gcmVzdG9yaW5nIHRoZSBpdGVtcyBwcmV2
aW91c2x5IG9uIHRoZSBwYXN0ZWJvYXJkLiBUbyB3b3JrIGFyb3VuZCB0aGlzIGluIHRoZSB0ZXN0
IHJ1bm5lciwgd2UgY2FuIHNpbXBseQorICAgICAgICBzd2l6emxlIG91dCBgLVtVSUtleWJvYXJk
SW1wbCBkZWxlZ2F0ZVN1cHBvcnRzSW1hZ2VQYXN0ZV1gIHRvIGFsd2F5cyByZXR1cm4gYE5PYCwg
d2hpY2ggaGFzIHRoZSBzYW1lIGVmZmVjdCBhcworICAgICAgICBkaXNhYmxpbmcgdGhlIE1lbW9q
aSBrZXlib2FyZC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbToK
KyAgICAgICAgKG92ZXJyaWRlS2V5Ym9hcmREZWxlZ2F0ZVN1cHBvcnRzSW1hZ2VQYXN0ZSk6Cisg
ICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0U3RhdGVUb0NvbnNpc3Rl
bnRWYWx1ZXMpOgorCiAyMDIwLTA1LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIFtDbGlwYm9hcmQgQVBJXSBTdXBwb3J0IHJlYWRpbmcgImltYWdl
L3BuZyIgb24gQ2xpcGJvYXJkSXRlbQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5oCmluZGV4IDQ3MWVmZDc3NWZjODhiYjU2MTdiNjJkMDllNjgyZTdjZjU2N2U4NzUuLmRkNmUw
N2ZmMWIyNTJkYjdlZDkzNDJiY2YxNzgwYzFlNDU3ZjQ2OTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTU1Miw2ICs1NTIsOSBAQCBwcml2YXRlOgogICAgIFZl
Y3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW5zdGFuY2VNZXRob2RTd2l6emxlcj4+IG1faW5wdXRNb2Rl
U3dpenpsZXJzOwogICAgIFJldGFpblB0cjxVSUtleWJvYXJkSW5wdXRNb2RlPiBtX292ZXJyaWRk
ZW5LZXlib2FyZElucHV0TW9kZTsKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEluc3RhbmNl
TWV0aG9kU3dpenpsZXI+PiBtX3ByZXNlbnRQb3BvdmVyU3dpenpsZXJzOworI2lmICFIQVZFKE5P
TkRFU1RSVUNUSVZFX0lNQUdFX1BBU1RFX1NVUFBPUlRfUVVFUlkpCisgICAgc3RkOjp1bmlxdWVf
cHRyPEluc3RhbmNlTWV0aG9kU3dpenpsZXI+IG1fa2V5Ym9hcmREZWxlZ2F0ZVN1cHBvcnRzSW1h
Z2VQYXN0ZVN3aXp6bGVyOworI2VuZGlmCiAjZW5kaWYKIAogICAgIGVudW0gU3RhdGUgewpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0g
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQppbmRleCA4
MTZmMGFjN2UyYzY5N2VkYmYxNTRmNjU3ZjdlNTIyNjE2ZWJhNjZlLi45ZGVkNGJmZTI2NzczNDg0
OGExNmVkMzQ1ZWU2NjhhZDMyZmE5YTdmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQpAQCAtNTYsNiArNTYsMTUgQEAgc3RhdGljIHZvaWQg
b3ZlcnJpZGVQcmVzZW50Vmlld0NvbnRyb2xsZXJPclBvcG92ZXIoKQogewogfQogCisjaWYgIUhB
VkUoTk9OREVTVFJVQ1RJVkVfSU1BR0VfUEFTVEVfU1VQUE9SVF9RVUVSWSkKKworc3RhdGljIEJP
T0wgb3ZlcnJpZGVLZXlib2FyZERlbGVnYXRlU3VwcG9ydHNJbWFnZVBhc3RlKGlkLCBTRUwpCit7
CisgICAgcmV0dXJuIE5POworfQorCisjZW5kaWYKKwogbmFtZXNwYWNlIFdUUiB7CiAKIHN0YXRp
YyBib29sIGlzRG9uZVdhaXRpbmdGb3JLZXlib2FyZFRvRGlzbWlzcyA9IHRydWU7CkBAIC0xNTcs
NiArMTY2LDEyIEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRTdGF0ZVRvQ29u
c2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0CiAKICAgICBHU0V2ZW50U2V0SGFy
ZHdhcmVLZXlib2FyZEF0dGFjaGVkKHRydWUsIDApOwogCisjaWYgIUhBVkUoTk9OREVTVFJVQ1RJ
VkVfSU1BR0VfUEFTVEVfU1VQUE9SVF9RVUVSWSkKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMg
d29ya2Fyb3VuZCBvbmNlIC1bVUlLZXlib2FyZEltcGwgZGVsZWdhdGVTdXBwb3J0c0ltYWdlUGFz
dGVdIG5vIGxvbmdlciBpbmNyZW1lbnRzIHRoZSBnZW5lcmFsIHBhc3RlYm9hcmQncyBjaGFuZ2VD
b3VudC4KKyAgICBpZiAoIW1fa2V5Ym9hcmREZWxlZ2F0ZVN1cHBvcnRzSW1hZ2VQYXN0ZVN3aXp6
bGVyKQorICAgICAgICBtX2tleWJvYXJkRGVsZWdhdGVTdXBwb3J0c0ltYWdlUGFzdGVTd2l6emxl
ciA9IG1ha2VVbmlxdWU8SW5zdGFuY2VNZXRob2RTd2l6emxlcj4oVUlLZXlib2FyZEltcGwuY2xh
c3MsIEBzZWxlY3RvcihkZWxlZ2F0ZVN1cHBvcnRzSW1hZ2VQYXN0ZSksIHJlaW50ZXJwcmV0X2Nh
c3Q8SU1QPihvdmVycmlkZUtleWJvYXJkRGVsZWdhdGVTdXBwb3J0c0ltYWdlUGFzdGUpKQorI2Vu
ZGlmCisKICAgICBtX2lucHV0TW9kZVN3aXp6bGVycy5jbGVhcigpOwogICAgIG1fb3ZlcnJpZGRl
bktleWJvYXJkSW5wdXRNb2RlID0gbmlsOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2JlZTQwNzU1ZTcwNWU1YWI5ZjM4
MzJhZDJhNjZlOTQ3ZWYwMDE2ZC4uNDEwYTZkNjMyY2YzY2E4OWExZjcxZTIxNGIyOTMyZjdmY2M4
Y2MyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA1LTI4ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjE4MTIpOiBl
ZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaXRlbS1nZXQtdHlwZS1iYXNpYy5odG1s
IGlzIGZsYWt5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTIyODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0OTEyPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgZmFpbGluZyB0
ZXN0IGV4cGVjdGF0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIv
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wNS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ2xpcGJvYXJkIEFQSV0gU3VwcG9ydCByZWFkaW5n
ICJpbWFnZS9wbmciIG9uIENsaXBib2FyZEl0ZW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUxNGFhZTEz
OTY4MzZkZWRkOTU5OGRiZTIwN2UzMDNiYzViZDE3NzcuLjc3MjM1MjJmMzM1OWRlMzVhMDY2ZGMx
NTk1M2YxYTY3YzFhYTNmOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTIsNSArOTIsMyBAQCB3ZWJr
aXQub3JnL2IvMjA4MDM2IGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcHV0LWtleXMuaHR0
cHMuYW55Lndvcmtlci5odG1sCiB3ZWJraXQub3JnL2IvMjA5MjM0IFsgUmVsZWFzZSBdIHBsYXRm
b3JtL2lvcy9pb3MvcGx1Z2luL3lvdXR1YmUtZmxhc2gtcGx1Z2luLWlmcmFtZS1uby1oZWlnaHQt
b3Itd2lkdGguaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0
cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQta2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3Mg
RmFpbHVyZSBdCi0KLXdlYmtpdC5vcmcvYi8yMTIyODEgWyBSZWxlYXNlIF0gZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400551</attachid>
            <date>2020-05-28 22:41:09 -0700</date>
            <delta_ts>2020-05-29 00:27:09 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-212281-20200528224109.patch</filename>
            <type>text/plain</type>
            <size>8228</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE3OWFiNGRiOTQwMGYzNzNjOTM0Nzc5
MTJkMTJhYjgxYjNhNDY4YzUuLmViMzgwMzM5NjFkMzAyNzIxZmY1ZmQ0ODkxNzhkMzRiNTEwMTBj
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDUtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2MTgxMik6IGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLmh0bWwgaXMg
Zmxha3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MjI4MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM1NTQ5MTI+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBBZGQgYSBuZXcgYEhBVkUoKWAgZGVmaW5lLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorCiAyMDIwLTA1LTI3ICBNaWNoYWVsIENh
dGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAgICAgICAgIC1XZGVwcmVjYXRlZC1j
b3B5IGNhdXNlZCBieSBCaXRtYXAgY29weSBhc3NpZ25tZW50IG9wZXJhdG9yCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IGJmNWFiMjU0YjVkMTcwNDc4ODAyYjUyMzk5NDU4OTU2ZWEzZjA0NTAuLjkxMjUyNzkxYzk3NDk3
YWY3OGNjNWM4NTQ3MDY0YTgwNmJmOGI2NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjAtMDUtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgUkVHUkVTU0lPTiAocjI2MTgxMik6IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pdGVtLWdldC10eXBlLWJhc2ljLmh0bWwgaXMgZmxha3kKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjI4MQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNjM1NTQ5MTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAg
ICBEZWNsYXJlIGAtZGVsZWdhdGVTdXBwb3J0c0ltYWdlUGFzdGVgIG9uIFVJS2V5Ym9hcmRJbXBs
LgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOgorCiAyMDIwLTA1LTI3
ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI2MDg0MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggNjgwMzk5ZDg4
OWU2Y2JlOTc5NGZhNjc1YzNjMDBiYzFiZTY0MDdiOS4uMzE3YmRlNzJhZmMyY2ZjZTIxYjZlOGZh
YmIzNWRkMDVkNzBmNGQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZl
LmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTYzNCwzICs2MzQsNyBA
QAogI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE2MDApCiAjZGVmaW5lIEhBVkVfRElTUExBWV9MQVlFUl9C
SVBMQU5BUl9TVVBQT1JUIDEKICNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDAKKyNkZWZpbmUgSEFWRV9OT05ERVNU
UlVDVElWRV9JTUFHRV9QQVNURV9TVVBQT1JUX1FVRVJZIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmggYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAppbmRleCBjMWFkNmIxMDMwNDU0MDEwMjJlODRi
ZmZlYzNmZTI3N2U2MjlmYTE2Li4yZDQzYmFlYmY4ZTEyNmJlOWY5ZWE5YTFmY2JmMzNlN2RiNmY5
ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApAQCAtMTMx
Miw2ICsxMzEyLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9VSUNvbnRleHRNZW51
TGF5b3V0KSB7CiAtIChCT09MKWhhbmRsZUtleUFwcENvbW1hbmRGb3JDdXJyZW50RXZlbnQ7CiAt
IChCT09MKWhhbmRsZUtleUlucHV0TWV0aG9kQ29tbWFuZEZvckN1cnJlbnRFdmVudDsKIC0gKEJP
T0wpaXNDYWxsaW5nSW5wdXREZWxlZ2F0ZTsKKy0gKEJPT0wpZGVsZWdhdGVTdXBwb3J0c0ltYWdl
UGFzdGU7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJS2V5Ym9hcmRJbnB1dE1v
ZGUgKmN1cnJlbnRJbnB1dE1vZGVJblByZWZlcmVuY2U7CiBAZW5kCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjMzc1M2Y1MDFjY2YxM2IxZjM5
ZWQ0NTAwMDgzMjMzMDZlMjNkNDMwLi44NGQxZTdkMTdjZDFkY2NhMjlhMWE1MTQ0YzRkYmRjMzEy
YTNmZDA2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzAgQEAKKzIwMjAtMDUtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI2MTgxMik6IGVkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pdGVtLWdldC10eXBlLWJhc2ljLmh0bWwgaXMgZmxha3kK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjI4MQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM1NTQ5MTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
VGltIEhvcnRvbi4KKworICAgICAgICBPbiBzb21lIHNoaXBwaW5nIHZlcnNpb25zIG9mIGlPUywg
cmV0dXJuaW5nIGBOT2AgZnJvbSBgLXN1cHBvcnRzSW1hZ2VQYXN0ZWAgc3RpbGwgcmVzdWx0cyBp
biBVSUtpdCBrZXlib2FyZAorICAgICAgICBjb2RlIHBpbm5pbmcgdGVtcG9yYXJ5IGl0ZW1zIHRv
IHRoZSBnZW5lcmFsIHBhc3RlYm9hcmQsIHdoaWNoIGluY3JlbWVudHMgdGhlIGNoYW5nZSBjb3Vu
dCBvZiB0aGUgcGFzdGVib2FyZC4KKyAgICAgICAgSWYgdGhpcyBoYXBwZW5zIGluIHRoZSBtaWRk
bGUgb2YgYW4gYXR0ZW1wdCB0byByZWFkIGZyb20gdGhlIHBhc3RlYm9hcmQsIHdlIGVuZCB1cCBm
YWxzZWx5IGRlbnlpbmcgYWNjZXNzIHRvIHRoZQorICAgICAgICBjb250ZW50cyBvZiB0aGUgcGFz
dGVib2FyZCwgc2luY2Ugd2UgYmVsaWV2ZSB0aGF0IHRoZSBjb250ZW50cyBvZiB0aGUgcGFzdGVi
b2FyZCBoYXZlIGNoYW5nZWQuCisKKyAgICAgICAgVGhpcyBoYXMgdGhlIHBvdGVudGlhbCB0byBh
ZmZlY3QgYW55IHRlc3QgdGhhdCBhdHRlbXB0cyB0byByZWFkIGZyb20gdGhlIHBhc3RlYm9hcmQg
b24gaU9TLCB0aG91Z2ggdGhlIHRpdHVsYXIKKyAgICAgICAgbGF5b3V0IHRlc3Qgc2VlbXMgdG8g
dHJpZ2dlciB0aGUgYnVnIG1vcmUgZnJlcXVlbnRseSB0aGFuIG90aGVyIHRlc3RzLgorCisgICAg
ICAgIFRoaXMgaXRlbSBwaW5uaW5nIHdhcyBhZGRlZCBpbiBzdXBwb3J0IG9mIGJlaW5nIGFibGUg
dG8gaW5zZXJ0IE1lbW9qaXMgZnJvbSB0aGUgc29mdHdhcmUga2V5Ym9hcmQsIGFuZCB3b3JrcyBi
eQorICAgICAgICBwcmV0ZW5kaW5nIHRvIGNvcHkgYSB0ZW1wb3JhcnkgUE5HIGltYWdlLCBhc2tp
bmcgdGhlIGRlbGVnYXRlIHdoZXRoZXIgaXQgYC1jYW5QZXJmb3JtQWN0aW9uOndpdGhTZW5kZXI6
YCwgYW5kCisgICAgICAgIHRoZW4gcmVzdG9yaW5nIHRoZSBpdGVtcyBwcmV2aW91c2x5IG9uIHRo
ZSBwYXN0ZWJvYXJkLiBUbyB3b3JrIGFyb3VuZCB0aGlzIGluIHRoZSB0ZXN0IHJ1bm5lciwgd2Ug
Y2FuIHNpbXBseQorICAgICAgICBzd2l6emxlIG91dCBgLVtVSUtleWJvYXJkSW1wbCBkZWxlZ2F0
ZVN1cHBvcnRzSW1hZ2VQYXN0ZV1gIHRvIGFsd2F5cyByZXR1cm4gYE5PYCwgd2hpY2ggaGFzIHRo
ZSBzYW1lIGVmZmVjdCBhcworICAgICAgICBkaXNhYmxpbmcgdGhlIE1lbW9qaSBrZXlib2FyZC4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKG92
ZXJyaWRlS2V5Ym9hcmREZWxlZ2F0ZVN1cHBvcnRzSW1hZ2VQYXN0ZSk6CisgICAgICAgIChXVFI6
OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMpOgor
CiAyMDIwLTA1LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtDbGlwYm9hcmQgQVBJXSBTdXBwb3J0IHJlYWRpbmcgImltYWdlL3BuZyIgb24gQ2xp
cGJvYXJkSXRlbQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IDQ3
MWVmZDc3NWZjODhiYjU2MTdiNjJkMDllNjgyZTdjZjU2N2U4NzUuLmRkNmUwN2ZmMWIyNTJkYjdl
ZDkzNDJiY2YxNzgwYzFlNDU3ZjQ2OTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmgKQEAgLTU1Miw2ICs1NTIsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxzdGQ6OnVu
aXF1ZV9wdHI8SW5zdGFuY2VNZXRob2RTd2l6emxlcj4+IG1faW5wdXRNb2RlU3dpenpsZXJzOwog
ICAgIFJldGFpblB0cjxVSUtleWJvYXJkSW5wdXRNb2RlPiBtX292ZXJyaWRkZW5LZXlib2FyZElu
cHV0TW9kZTsKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEluc3RhbmNlTWV0aG9kU3dpenps
ZXI+PiBtX3ByZXNlbnRQb3BvdmVyU3dpenpsZXJzOworI2lmICFIQVZFKE5PTkRFU1RSVUNUSVZF
X0lNQUdFX1BBU1RFX1NVUFBPUlRfUVVFUlkpCisgICAgc3RkOjp1bmlxdWVfcHRyPEluc3RhbmNl
TWV0aG9kU3dpenpsZXI+IG1fa2V5Ym9hcmREZWxlZ2F0ZVN1cHBvcnRzSW1hZ2VQYXN0ZVN3aXp6
bGVyOworI2VuZGlmCiAjZW5kaWYKIAogICAgIGVudW0gU3RhdGUgewpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQppbmRleCA4MTZmMGFjN2UyYzY5
N2VkYmYxNTRmNjU3ZjdlNTIyNjE2ZWJhNjZlLi42YTMwNTA5OGNlZDA4ZTNjMmI4MTU4MGRkMjNj
NmNkOTA0ZjhjN2FjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0
Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29u
dHJvbGxlcklPUy5tbQpAQCAtNTYsNiArNTYsMTUgQEAgc3RhdGljIHZvaWQgb3ZlcnJpZGVQcmVz
ZW50Vmlld0NvbnRyb2xsZXJPclBvcG92ZXIoKQogewogfQogCisjaWYgIUhBVkUoTk9OREVTVFJV
Q1RJVkVfSU1BR0VfUEFTVEVfU1VQUE9SVF9RVUVSWSkKKworc3RhdGljIEJPT0wgb3ZlcnJpZGVL
ZXlib2FyZERlbGVnYXRlU3VwcG9ydHNJbWFnZVBhc3RlKGlkLCBTRUwpCit7CisgICAgcmV0dXJu
IE5POworfQorCisjZW5kaWYKKwogbmFtZXNwYWNlIFdUUiB7CiAKIHN0YXRpYyBib29sIGlzRG9u
ZVdhaXRpbmdGb3JLZXlib2FyZFRvRGlzbWlzcyA9IHRydWU7CkBAIC0xNTcsNiArMTY2LDEyIEBA
IGJvb2wgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVl
cyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0CiAKICAgICBHU0V2ZW50U2V0SGFyZHdhcmVLZXlib2Fy
ZEF0dGFjaGVkKHRydWUsIDApOwogCisjaWYgIUhBVkUoTk9OREVTVFJVQ1RJVkVfSU1BR0VfUEFT
VEVfU1VQUE9SVF9RVUVSWSkKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCBv
bmNlIC1bVUlLZXlib2FyZEltcGwgZGVsZWdhdGVTdXBwb3J0c0ltYWdlUGFzdGVdIG5vIGxvbmdl
ciBpbmNyZW1lbnRzIHRoZSBnZW5lcmFsIHBhc3RlYm9hcmQncyBjaGFuZ2VDb3VudC4KKyAgICBp
ZiAoIW1fa2V5Ym9hcmREZWxlZ2F0ZVN1cHBvcnRzSW1hZ2VQYXN0ZVN3aXp6bGVyKQorICAgICAg
ICBtX2tleWJvYXJkRGVsZWdhdGVTdXBwb3J0c0ltYWdlUGFzdGVTd2l6emxlciA9IG1ha2VVbmlx
dWU8SW5zdGFuY2VNZXRob2RTd2l6emxlcj4oVUlLZXlib2FyZEltcGwuY2xhc3MsIEBzZWxlY3Rv
cihkZWxlZ2F0ZVN1cHBvcnRzSW1hZ2VQYXN0ZSksIHJlaW50ZXJwcmV0X2Nhc3Q8SU1QPihvdmVy
cmlkZUtleWJvYXJkRGVsZWdhdGVTdXBwb3J0c0ltYWdlUGFzdGUpKTsKKyNlbmRpZgorCiAgICAg
bV9pbnB1dE1vZGVTd2l6emxlcnMuY2xlYXIoKTsKICAgICBtX292ZXJyaWRkZW5LZXlib2FyZElu
cHV0TW9kZSA9IG5pbDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNiZWU0MDc1NWU3MDVlNWFiOWYzODMyYWQyYTY2ZTk0
N2VmMDAxNmQuLmE0NWQ2MWViMzEyMjUyZjVmZjA2ZmVjNzI5MjgxNzM4OGEyNWQzOTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNS0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjYxODEyKTogZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBpcyBmbGFreQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMjgxCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzU1NDkxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSG9ydG9uLgorCisgICAgICAgIFJlbW92ZSB0aGUgZmFpbGluZyB0ZXN0IGV4cGVjdGF0aW9u
LgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9u
czoKKwogMjAyMC0wNS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAogICAgICAgICBbQ2xpcGJvYXJkIEFQSV0gU3VwcG9ydCByZWFkaW5nICJpbWFnZS9wbmciIG9u
IENsaXBib2FyZEl0ZW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2lt
dWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUxNGFhZTEzOTY4MzZkZWRkOTU5OGRi
ZTIwN2UzMDNiYzViZDE3NzcuLjc3MjM1MjJmMzM1OWRlMzVhMDY2ZGMxNTk1M2YxYTY3YzFhYTNm
OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13
azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTIsNSArOTIsMyBAQCB3ZWJraXQub3JnL2IvMjA4MDM2
IGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcHV0LWtleXMuaHR0cHMuYW55Lndvcmtlci5o
dG1sCiB3ZWJraXQub3JnL2IvMjA5MjM0IFsgUmVsZWFzZSBdIHBsYXRmb3JtL2lvcy9pb3MvcGx1
Z2luL3lvdXR1YmUtZmxhc2gtcGx1Z2luLWlmcmFtZS1uby1oZWlnaHQtb3Itd2lkdGguaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMDc0OTYgaHR0cC93cHQvY2FjaGUtc3Rv
cmFnZS9jYWNoZS1wdXQta2V5cy5odHRwcy5hbnkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLXdl
YmtpdC5vcmcvYi8yMTIyODEgWyBSZWxlYXNlIF0gZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWl0ZW0tZ2V0LXR5cGUtYmFzaWMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>